Ich glaub ich sollte öfters mal ein Glas Wein trinken
Hab doch glatt übersehen dass den PVirtualNodes garnix zugewiesen wird. Hab aus der procedure ne function gemacht und siehe da es geht
Also hier mal die function:
Delphi-Quellcode:
function TFMain.CreateSectionNode(Node: PVirtualNode;
Caption: String): PVirtualNode;
var
NodeD: ^rSectionsData;
begin
VSTSections.NodeDataSize := SizeOf(rSectionsData);
Result := VSTSections.AddChild(Node);
NodeD := VSTSections.GetNodeData(Result);
NodeD.BasicND := TBasicNodeData.Create(Caption);
end;
So aufzurufen:
Delphi-Quellcode:
procedure TFMain.FormCreate(Sender: TObject);
begin
ndLibrary := CreateSectionNode(nil, 'Library');
ndArtist := CreateSectionNode(nil, 'Artists');
ndAlbum := CreateSectionNode(nil, 'Albums');
ndGenre := CreateSectionNode(nil, 'Genres');
ndLanguage := CreateSectionNode(nil, 'Languages');
ndPlaylist := CreateSectionNode(nil, 'Playlist');
end;
Und dann funktioniert auch das endlich
Delphi-Quellcode:
procedure TFMain.Button1Click(Sender: TObject);
var
NodeD: ^rSectionsData;
Node: PVirtualNode;
begin
DMMedia.ZQ1.First;
while NOT DMMedia.ZQ1.Eof do
begin
Node := VSTSections.AddChild(ndGenre);
NodeD := VSTSections.GetNodeData(Node);
NodeD.BasicND := TBasicNodeData.Create(DMMedia.ZQ1Genre.AsString);
DMMedia.ZQ1.Next;
end;
end;