(Siehe Edit)
Ungefähr so?
=> ObjectList OwnObjects auf Fale
=> Änderung von Uwe eingebaut
und
Delphi-Quellcode:
procedure TForm2.VSTFreeNode(Sender: TBaseVirtualTree; Node: PVirtualNode);
var
Data: TVSTData;
idx: Integer;
begin
Data := Node.GetData<TVSTData>;
idx := aVSTDataClasses.IndexOf(Data);
if idx > -1 then
aVSTDataClasses.Items[idx].Free;
// Data.Free;
end;
Danach wird mir noch immer "Count: N ausgegeben" (N = die Anzahl der Nodes vor dem Löschen)
ShowMessage('Count: ' + IntToStr(aVSTDataClasses.Count));
Edit
Dummheit muss bestraft werden.
aVSTDataClasses.Delete(idx);
und nicht
aVSTDataClasses.Items[idx].Free;
.