CloseAction in einem Formular das Modal angezeigt wird nicht auf caFree setzen.
Free oder FreeAndNil ruft direkt Destroy auf, Release schickt eine Nachricht an das Fenster.
So können andere Nachrichten aus der Warteschlange vorher noch verarbeitet werden.
Delphi-Quellcode:
finally
NewForm.Release;
NewForm := nil; // <- für die lokale Variable eigentlich im Beispiel überflüssig.
end;
Wenn es eine globale Variable für das Formalar gibt, dann im OnDestroy auf nil setzen.
Delphi-Quellcode:
TMeineForm.OnDestroy
begin
FMeineForm := nil;
end;