Ich finde die 3 Sekunden eigentlich OK. Wie gesagt wird noch verdammt viel zeitgleich gemacht (Dateivergleiche usw) - wirklich sehr viel =)
Das mit dem RootNodeCount verstehe ich noch nicht genau. Wenn ich RootNodeCount := XYZ mache (XYZ = die Anzahl meiner Daten), dann sehe ich in meiner VST alles doppelt und die ersten XYZ sind leer.
Deine Art die Nodes freizugeben funktioniert bei mir nicht. Ich mache es immer so
Delphi-Quellcode:
var
Data: PTreeData;
begin
Data := VST.GetNodeData(Node);
Finalize(Data^);
Nun meckert der Compiler, dass der Ausdruck kein Initialize/Finalize benötigt.