@xaromz: Das ist ja ne alberne Annahme. Was kann denn der Compiler dafür wenn ich mir irgendwo den Pointer auf ein Objekt noch ein zweites oder drittes Mal merke. auch freeandnil setzt bei dir B nicht auf nil. So kann ich (wenn auch etwas umständlicher wegen den Referenzzählern) auch strings etc."austrixen".
Dafür gibts eben Referenzzähler, und zack sind wir bei Interfaces angelangt.
@mkinzler
Delphi-Quellcode:
procedure Tobject.free(var self:Tobject);
begin
if self<>nil then destroy
self:=nil;
end;
Das ist Aufgabe des Compilers, da mal eine Referenz zu geben.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.