Testing, if form exists/de

From Lazarus wiki
Jump to navigationJump to search

Deutsch (de) English (en) français (fr)

Manchmal kann eine Form von mehreren Stellen in einem Programm gestartet werden. Wenn sie bereits vorhanden ist, muss sie nur nach vorn gebracht werden. Wenn nicht, muss sie erstellt werden.

Diese Methode wird nur benötigt, wenn die Form nicht automatisch erstellt wird (es sollte aber unter Hauptmenü -> Projekt -> Formulare zu finden sein).

Der einfachste Weg ist:

if (MyForm = nil) then Application.CreateForm(TMyForm, MyForm);
MyForm.Show;

Verwenden Sie Closeaction: = caFree in OnClose-Ereignis des Formulars z.B so:

procedure TMyForm.Formclose(Sender: Tobject; var Closeaction: Tcloseaction);
begin
  CloseAction := caFree;
  MyForm := nil;
End;