Einzelnen Beitrag anzeigen

jus

Registriert seit: 22. Jan 2005
343 Beiträge
 
Delphi 2007 Professional
 
#30

AW: Datenhaltung mit VirtualStringTree und Trennung der Businesslogik

  Alt 1. Apr 2019, 18:03
Wieso speichert Ihr den Objekt Zeiger nicht direkt im VST?
Dann braucht ihr die Zwischenklasse TTreeData nicht.
Ich vermute, das sind Altlasten. Lange Zeit ging das beim VST gar nicht anders. Die alten Tutorials im Netz haben leider kein Verfallsdatum. Mir ging das ganz genauso: Ich nutze den VST schon seit den allerersten Tagen und hab eben die alten Vorgehensweisen verinnerlicht. Dass er inzwischen auch Generics kann, hab ich auch erst jetzt mitbekommen...
Yep, ich habe mich bisher immer an das Tutorial gehalten. Vermutlich würde es auch direkt funktionieren.

AddChild benutzt man nicht. Das ist eine Todsünde, so wie ich das immer lese.

Wenn man AddChild benutzt, dann kann man auch gleich ein TListView benutzen mit Add().
Naja ganz so schlimm ist es nun auch wieder nicht. Kommt ganz auf den Einzelfall an. Wenn man eine Struktur von ein paar Dutzend Nodes hat (wie. z.B. in der Delphi-IDE die Projektverwaltung), dann ist es völlig Wumpe ob man iterativ mit AddChild arbeitet oder mit Root/Childcount. Im Zweifel opfere ich da sogar ein paar Millisekunden Runtime zugunsten lesbareren Codes.

Bei Anwendungen wie z.B. HeidiSQL, wo der VST hingegen ein Grid für viele Tausende Datensätze bilden kann, da macht das absolut Sinn. Wobei ich mich an der Stelle schon wieder Frage, ob die Vorteile die man mit Rootnodecount gewinnt, nicht durch das ganze Generics-RTTI-Gedönse wieder drauf geht.
Davon würde ich gerne mehr erfahren wollen? Also der Grund, warum man nicht AddChild verwenden soll, ist nur die Performance oder gibt es noch andere Gründe? Gab es Performancetests dazu?
  Mit Zitat antworten Zitat