Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Trennung von Darstellung und Daten, Prinzipfrage konkret (https://www.delphipraxis.net/160754-trennung-von-darstellung-und-daten-prinzipfrage-konkret.html)

Stevie 30. Mai 2011 17:25

AW: Trennung von Darstellung und Daten, Prinzipfrage konkret
 
Von der konkreten Beantwortung der Frage mal unabhängig, würde ich dir mal empfehlen, dich in das Thema MVC, MVP bzw MVVM einzulesen. Im Großen und Ganzen bei allen das gleiche Prinzip: Wie bekommt man nach der Trennung von GUI, Daten und Business Logik die 3 wieder verbunden.

FredlFesl 30. Mai 2011 18:14

AW: Trennung von Darstellung und Daten, Prinzipfrage konkret
 
Die Problematik der redundanten Referenzen (Objektliste und Data-Eigenschaft des TListItems) umgehst Du durch Verwendung der Eigenschaft "OwnerData := True"
Dann legst Du den Event OnData fest. Fertig.

Delphi-Quellcode:
procedure TForm1.ListView1Data(Sender: TObject; Item: TListItem);
begin
  Item.Data := MyObjectList.Items[Item.index];
  Item.Caption := MyObjectList.Items[Item.index].TheTitle;
  Item.SubItems.Add(MyObjectList.Items[Item.index].MoreStuffToShow);
end;
Wenn Du mit Bildchen arbeitest, musst du die entsprechenden Eigenschaften des TListItems auch noch setzen und ggfs. einige andere Events definieren.

mschaefer 30. Mai 2011 19:09

AW: Trennung von Darstellung und Daten, Prinzipfrage konkret
 
Da gibt es spannende Konzepte, wobei man dann die Arbeit der VCL-Entwicler macht. Um das etwas in Grenzen zu halten, habe ich mich für eine nichtvisuelle Tree-Komponente zur Datenspeicherung entschlossen. So in etwa wie folgende TMemTree-Komponente.

Grüße in die Runde !


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:08 Uhr.
Seite 2 von 2     12   

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