Noch mal 1mm weiter aber immer noch nicht am Ziel.
Jetzt streikt der Aufruf
Delphi-Quellcode:
procedure TMyList.Notify(const Ptr: TMyclass; Action: TCollectionNotification); // Überschreiben nicht virtual
begin
if (FFreeOnDelete) and (Ptr<>nil) and (Action = cnRemoved) then
Ptr.Free; // Ungültige Zeigeroperation
inherited Notify(Ptr, Action);
end;
Beim Aufruf von Ptr.Free kommt es zu einer
Exception "Ungültige Zeigeroperation". Dispose(Ptr) ging auch nicht.
Ausserdem:
Ich bin dr Meinung, dass inherited nach meiner Aktion erfolgen soll aber auf der Suche fan ich auch Beispiele, wo zuerst inherited aufgerufen wurde. Spielt es eine Rolle?