AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Komponente in modalem Formular ändern?

Ein Thema von Marco Steinebach · begonnen am 12. Feb 2008 · letzter Beitrag vom 14. Feb 2008
 
Muetze1
(Gast)

n/a Beiträge
 
#8

Re: Komponente in modalem Formular ändern?

  Alt 13. Feb 2008, 18:51
Ich habe mir schon gedacht, dass die TListView direkt kein Assign() implementiert. Die TListItems tun dies aber. Somit bei den beiden Assign() Aufrufen einfach zuvor noch ein Items. einfügen. Im Endeffekt sollte es dann so aussehen:

Delphi-Quellcode:
function TForm2.ShowModal (l: TListView): Integer;
begin
  lModal.Items.Assign (l);

  result := inherited ShowModal;

  if result = mrOk then
    l.Items.Assign(lModal);
end;
Aber grundlegend muss ich allen zustimmen, dass eine Arbeit mit einer visuellen Komponenten zur Datenhaltung wirklich schlechter Stil ist. Hier liegt eindeutig keine Trennung von Oberflächen und Daten vor. Im Normalfall sollte dein Programm eine nicht visuelle Liste haben, welche alle Daten entsprechend hält. Die Oberfläche kann dann mit Nutzung der Liste die Oberfläche befüllen (hier: das ListView). Wenn du nun einen zweiten Dialog hast der die Liste bearbeitet, dann sollte diesem nur diese nicht visuelle Liste übergeben werden und dann kann sie dort bearbeitet werden. Danach kann Form1 seine Oberfläche an den veränderten Listinhalt anpassen. Diese Trennung von Oberfläche und Daten ermöglicht mehr Freiheiten beim gestalten der Oberfläche. So kann die Oberfläche die gleichen Daten auch später z.B. in einem VST darstellen, ohne das die Datenverwaltung umgestellt werden muss. Oder wenn der Kunde eine Spalte in der ListView einfach nicht mehr sehen will, dafür aber beim Bearbeiten im Form2-Dialog. So hättest du z.Z. mit deinem Aufbau keine Chance diese Änderung einfach zu machen, da dir dann die Daten der Spalte in Form1 definitv fehlen. Bei der Trennung der Daten ist es nur eine Zeile beim befüllen der ListView für Form1.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz