Difference between revisions of "Testing, if form exists/de"
From Lazarus wiki
Jump to navigationJump to search (Created page with "{{Testing, if form exists}} <br> Manchmal kann eine Form von mehreren Stellen in einem Programm gestartet werden. Wenn sie bereits vorhanden ist, muss sie nur n...") |
|||
Line 3: | Line 3: | ||
Manchmal kann eine [[TForm/de | 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. | Manchmal kann eine [[TForm/de | 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). | + | Diese Methode wird nur benötigt, wenn die Form [[Form_Tutorial/de#Von_Lazarus_designte_Form_dynamisch_erstellen | nicht automatisch erstellt]] wird (es sollte aber unter Hauptmenü -> Projekt -> Formulare zu finden sein). |
Der einfachste Weg ist: | Der einfachste Weg ist: | ||
Line 11: | Line 11: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | Verwenden Sie Closeaction: = caFree in OnClose-Ereignis des Formulars. | |
<syntaxhighlight> | <syntaxhighlight> | ||
− | + | procedure TMyForm.Formclose(Sender: Tobject; var Closeaction: Tcloseaction); | |
begin | begin | ||
CloseAction := caFree; | CloseAction := caFree; | ||
Line 20: | Line 20: | ||
End; | End; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
[[Category:Code]] | [[Category:Code]] | ||
[[Category:LCL]] | [[Category:LCL]] | ||
[[Category:Forms]] | [[Category:Forms]] | ||
+ | --[[User:Michl|Michl]] 23:26, 10 May 2014 (CEST) |
Revision as of 23:26, 10 May 2014
│
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.
procedure TMyForm.Formclose(Sender: Tobject; var Closeaction: Tcloseaction);
begin
CloseAction := caFree;
MyForm := nil;
End;
--Michl 23:26, 10 May 2014 (CEST)