Code:
PTreeData = ^TTreeData;
TTreeData = record
FObject : TObject;
end;
Ich sehe immer diesen Quelltext.
Wir sehen ein Zeiger auf ein Objekt welches in einen Record gespeichert wird.
Also ist der Record genau so groß wie der Zeiger.
Wieso speichert Ihr den Objekt Zeiger nicht direkt im VST?
Dann braucht ihr die Zwischenklasse TTreeData nicht.
Code:
vst.NodeDataSize= sizeof(TMeinObjekt); // Zeigergröße - es geht auch TObject da alle Objektzeiger gleich groß sind.
vst.addChild(nil, MeinObjektInsatz); // Hinzufügen mit Zeigers
var
data: TMeinObjekt;
begin
data := TMeinObjekt(fVST.GetNodeData(Node)^);
end;