Zitat von
thabaker:
//edit2: noch mal deutlich: NIE .Free aufrufen wenn der RefCount > 0 ist! Denn dann wird die Instanz noch verwendet und .Free macht es ja kaputt!
das nicht gerade, aber es kommt zu einer netten Nebenwirkung, wenn man Free im falschen Moment aufruft.
Delphi-Quellcode:
procedure TInterfacedObject.BeforeDestruction;
begin
if RefCount <> 0 then
Error(reInvalidPtr);
end;