Hallo Chemiker,
wenn du die Ereignisse OnDeletion() und OnInsert() der ListView benutzt um eine Referenz an den Universal-Pointer Data eines Items zu binden, dann wird dein Code klarer strukturiert.
Zur Verdeutlichung des Prinzips:
Delphi-Quellcode:
procedure TDemoForm.ListViewDeletion(Sender: TObject; Item: TListItem);
begin
with Item do
TObject(Data).Free;
end;
procedure TDemoForm.DeleteItemActionExecute(Sender: TObject);
begin
ListView.DeleteSelected;
end;
procedure TDemoForm.DeleteItemActionUpdate(Sender: TObject);
begin
with Sender as TAction do
Enabled := Assigned(ListView.Selected);
end;
Dabei bitte nicht übersehen, dass ich die eigentliche Aktion in eine TAction ausgelagert habe.
Grüße vom marabu