Hallo Peter,
du solltest auf jeden Fall das Ereignis
OnFreeNode behandeln und dort durch einen Aufruf von
Finalize die Freigabe des Speichers veranlassen, etwa so:
Delphi-Quellcode:
procedure TForm1.VSTreeNode (Sender: TBaseVirtualTree; Node: PVirtualNode);
var
NodeData : PTreeData;
begin
NodeData := Sender.GetNodeData(Node);
Finalize (NodeData^);
end;
Das Ereignis wird für jeden sichtbaren Knoten automatisch ausgelöst. Es könnte eventuell notwendig sein, schon beim Erzeugen der Knoten einen späteren Aufruf zu erzwingen:
Delphi-Quellcode:
Node := VST.AddChild(nil);
...
VST.InvalidateNode (Node); // erzwingt Aufruf von OnFreeNode bei Freigabe
Gruß Hawkeye