Testing, if form exists
Sometimes a form may be launched from several places in a program. If it already exists, it only needs to be brought to the front. If not, it needs to be created.
This method is only needed if the form is not auto created (ie not listed under Project|Project Options|Forms|Available forms).
The easiest way is:
if (MyForm = nil) then Application.CreateForm(TMyForm, MyForm); MyForm.Show;
CloseAction := caFree in the form's OnClose event, like so:
procedure TMyForm.FormClose(Sender: Tobject; var Closeaction: Tcloseaction); begin CloseAction := caFree; MyForm := nil; End;
This method is taken from forum discussions.