Wenn Du eine Form modal aufrufst ist dieser Konstrukt das Mittel der Wahl:
Code:
With TMyForm.Create ( Application oder NIL, etc ) do
Try
...
ShowModal;
...
Finally
Free;
End;
Wenn Du eine Form nicht modal aufrufst ( z.B. mit Show )
dann schreibe in die Formclose der jeweiligen Form:
Code:
procedure TMyForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
und schließe alle offenen Forms bei Programmende oder wenn gewünscht.