so, hab den code noch etwas geändert.
bei
Accept := (Source = VST) and Assigned(VST.GetFirstSelected);
kam bei mir der Fehler "Variable erforderlich".
und
nd := VST.GetNodeData(vn);
benötigt einen zeiger oder sowas, mit
Delphi-Quellcode:
PNodeData(nd := VST.GetNodeData(vn)^);
funktionierts.
hier nochmal der gesamte quelltext:
Delphi-Quellcode:
procedure TForm1.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
if Assigned(VST.FocusedNode) then
Accept := (Source = VST);// and Assigned(VST.GetFirstSelected);
end;
procedure TForm1.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
selnode: PVirtualNode;
daten: CTreedata;
begin
with Sender as TListBox do
begin
selnode := VST.GetFirstSelected;
while Assigned(selnode) do
begin
daten := CTreedata (VST.GetNodeData(selnode)^);
Items.Add(daten.CPath);
selnode := VST.GetNextSelected(selnode);
end;
end;
end;
danke marabu