Ok. Wenigstens einen Lichtblick in der Zukunft
Eine kurze Frage noch zum löschen. Ich habe es jetzt so gemacht dass im Interface eine Funktion existiert die sich selbst als Objekt zurück gibt.
Delphi-Quellcode:
IDataObject = interface( IInterface )
['{C94DCAC7-CA42-45D3-95D7-9BC321BA2E2A}']
function Load( _id: Integer ): Boolean;
function Insert: Boolean;
function Update: Boolean;
procedure Delete;
procedure SetSelfObject( _o: TObject );
function GetSelfObject: TObject;
end;
procedure TAccountData.SetSelfObject( _o: TObject );
begin
FSelfObject:= TAccountDataExtend( _o ); //Cast unnötig
end {SetSelfObject};
function TAccountData.GetSelfObject: TObject;
begin
Result:= FSelfObject;
end {GetSelfObject};
Aber wie lösche ich mein Objekt nun wieder?
Mittels xy.GetSelfObject.Free wird eine "unnötige Zeigeroperation" ausgelöst.
Ich habe testweise bei der Generierung der Listview meine Objekte noch in eine TObjectList gespeichert und diese durchgeloopt. Auch dies gibt eine "unnötige Zeigeroperation". Blockiert mich das Interface? Wie wäre der korrekte/schöne Weg diese Objekte zu löschen?
Herzlichen Dank