Einzelnen Beitrag anzeigen

Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: VirtualStringTree - zuweisen von RootNodeCount

  Alt 15. Apr 2018, 14:44
Naja, es gibt mehrere Wege das zu tun. Der erste Weg wäre, dass du einfach alle Nodes mit VST.Clear; löschst und mit VST.RootNodeCount := Count; erstellst. Je nachdem wie aufwendig dein VST aufgebaut ist und wie viele Nodes es gibt, kann das natürlich etwas dauern. Aber dann hast du wahrscheinlich schon wieder so viele Nodes, dass du deine Vorgehensweise überdenken musst. Alternativ die Node löschen und dann RootNodeCount wieder setzen. Da bist du sehr frei was die Vorgehensweise angeht.

Der Weg über RootNodeCount ist allerdings der bevorzugte Weg, da das am ehesten etwas mit dem virtuellen Vorgehen des Trees zu tun hat. (Siehe Kommentar von Mike Lischke bei der VST Function AddChild()).


Der zweite Weg ist, dass du eben mit VST.AddChild() ein Node hinzufügst und die bei Bedarf noch entsprechend einordnest.


Aber du solltest dich auf eine Vorgehensweise festlegen. Da du schon RootNodeCount verwendest, würde ich mit der ersten Lösung steil gehen.



Tipp: Speichere deine Instanzen in einer TObjectList<T> ab. Somit brauchst du später nicht mehr auf den Tree zuzugreifen wenn du mit den Instanzen arbeiten willst. (Wenn du das nicht sowieso schon machst. Kann man aus Pseudocode so schlecht erkennen )
  Mit Zitat antworten Zitat