Achtung: Es gibt in Delphi die Funktion FreeAndNil(MyObject).
Die tut das!! Die Funktion sieht im Grunde so aus:
Delphi-Quellcode:
procedure FreeAndNil(var aObject: TObject);
var
tmp: TObject;
begin
tmp := aObject;
if tmp <> nil then
tmp.Free;
aObject := nil;
end;
Wenn man etwas
so frei gibt,
dann kann man mit Assigned(MyObject) genau so arbeiten. Das geht aber
nicht, wenn man nur MyObject.Free; benutzt. Schau nochmal genau nach.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)