Hi,
das Objekt wird bei Close nicht unbedingt freigegeben, das hängt davon ab, was du im OnClose zurückgibst (Action = caFree --> Freigabe, ansonsten nicht).
Mit .Free oder FreeAndNil hingegen wird das Formularobjekt immer freigegeben, aber nur bei FreeAndNil wird es auch auf nil gesetzt, ansonsten verweist deine Variable immer noch an die Stelle, an der das Objekt vorher lag.
[edit] Wie wärs denn damit:
Delphi-Quellcode:
procedure ReleaseAndNil(var X: TCustomForm); //inline;
begin
if Assigned(X) then
begin
X.Release;
X := nil;
end;
end;
[/edit]
Mfg
FAlter