procedure TForm1.FormCreate(Sender: TObject);
const
NumItems = 10;
var
i: integer;
rec: TPayload;
begin
VirtualStringTree1.NodeDataSize := SizeOf(PPayload);
// populate the array
ArrPayload := TArrPayload.Create;
for i := 1 to NumItems do
begin
rec.ID := i;
rec.Name := Format('Node %d', [i]);
Insert(rec,ArrPayload,MaxInt); // append tail
end;
// initalize the nodes
for rec in ArrPayload do
VirtualStringTree1.AddChild(nil,@rec);
end;