Ich habe das zwar noch nie versucht bzw. gebraucht, aber möglicherweise so:
Delphi-Quellcode:
destructor TDings.Destroy;
begin
if AllesOK then
begin
MachSauber;
inherited;
end;
end;
Nur: wozu soll das gut sein, wenn ich Free aufrufe, gehe ich davon aus, dass das Objekt danach auch garantiert freigegeben ist.