Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
2. Mai 2019
In meinem Beitrag #32 kannst du dir den Kommentar von Mike Lischke durchlesen. Er rät von der Nutzung von AddChild() ab.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
16. Apr 2019
Naja du könntest so etwas machen:
type
TNodeDataClass = class
private
FParentNodeData: TNodeDataClass;
FSpalte1: string;
FSpalte2: string;
FSpalte3: Integer;
public
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
16. Apr 2019
Dann gibt es in deiner TObjectList<T> eine zusätzliche Property die ebenfalls eine TObjectList<T> oder ein anderer ContainerType ist. Die ChildNodes verweisen dann auf einen Eintrag in dieser Liste. Wenn die Daten vom gleichen Typ sind (wie z.B. bei einer Verzeichnisstruktur), dann ist das recht einfach, da rekursiv. Bedenke, dass du dann im Constructor ein Create des ChildContainers und im...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
2. Apr 2019
Please elaborate! Also diesen Satz von dir verstehe ich nicht so ganz. Habe mir den jetzt 3 mal durchgelesen und bin noch so schlau wie am Anfang. :oops:
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
1. Apr 2019
Ein Grund ist sicherlich die Performance. Der Tree initialisiert gewisse Dinge erst dann, wenn sie benötigt werden. Und das passiert nur, wenn RootNodeCount bzw. ChildCount benutzt wird. Bei AddChild hingegen wird die Node direkt initialisiert. Zudem ist es mit RootNodeCount soweit ich weiß auch möglich, die NodeDaten erst dynamisch und zu dem Zeitpunkt zu laden an dem sie benötigt werden (eben...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
26. Mär 2019
Hmm ja. Das war vielleicht etwas blöd ausgedrückt. Ich meinte, dass ich die generischen Funktionen des VST wie GetNodeData<T> nicht benutze. Ich nutze eigentlich immer die standard Funktionen. Wahrscheinlich auch, weil ich eine Zeit lang kompatibel zu alten Versionen geblieben bin.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
26. Mär 2019
Also ich würde mal sagen das es das schon seit 4 Jahren gibt. :lol: https://github.com/Virtual-TreeView/Virtual-TreeView/commit/774daed2a8c58d4be759f979a5c4f91c0a096aeb
Ich selbst benutze die Generics auch kaum bis gar nicht. Ich arbeite nur noch mit Objekt Instanzen in einer TObjectList<T>. Und da noch ein PClass = ^TClass dazu zuschreiben stört mich weniger.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
26. Mär 2019
Also eine sehr abgespeckte Variante wäre diese hier. (Aus dem Kopf geschrieben und auch nicht vollständig). Damit weist du der Node eine Objekt Instanz aus einer ObjectList zu. Dieses Objekt muss natürlich mit dem Index auch existieren. Beim Sortieren sollte sogar dann auch nichts passieren, da die Referenz ja bleibt. Es wird nur im Init Event einmal auf die ObjectList zugegriffen und das Item...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
24. Mär 2019
MVVM ist ja mit Delphi wohl nicht so schön möglich wie bspw. mit C# und WPF. Zumindest gibt es hier im Forum diverse Threads darüber.
Bezüglich der Datenhaltung solltest du dir TObjectList<T> anschauen. Dort werden deine Instanzen gespeichert. Die Node erhält dann als NodeData nur noch einen Pointer oder alternativ den ItemIndex das Objekt in der Liste. Zumindest mache ich das so und das hat...