Dann schau doch mal nach, was Assigned macht.
Assigned
prüft lediglich, ob die Referenz-Variable den Wert
nil
hat.
Aus, basta, fertig.
Delphi-Quellcode:
function Assigned( Obj : TObject ) : Boolen;
begin
Result := Obj <> nil;
end;
Steht da etwas anderes drin als
nil
, dann liefert
Assigned
true zurück.
Es wird nicht geprüft, ob an der angegebenen Referenz eine gültige Instanz ist!
Setze einfach
nach dem
Free
den Wert der Referenz-Variablen auf
nil
und schon kannst du problemlos mit
Assigned
prüfen.
Du kannst dafür auch
FreeAndNil
benutzen, das wie folgt arbeitet:
Delphi-Quellcode:
procedure FreeAndNil( var Obj : TObject );
begin
Obj.Free;
Obj := nil;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)