Difference between revisions of "Testing, if form exists/fr"
From Lazarus wiki
Jump to navigationJump to search (Created page with "{{Testing, if form exists}} <br> Parfois, une fiche peut être lancée depuis plusieurs endroits dans un programme. Si elle existe déjà, il suffit de la placer...") |
m (Fixed syntax highlighting) |
||
Line 5: | Line 5: | ||
La façon la plus simple est celle-ci : | La façon la plus simple est celle-ci : | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
if (MyForm = nil) then Application.CreateForm(TMyForm, MyForm); | if (MyForm = nil) then Application.CreateForm(TMyForm, MyForm); | ||
MyForm.Show; | MyForm.Show; | ||
Line 12: | Line 12: | ||
Utiliser <code>CloseAction := caFree;</code> dans l'événement OnClose de la fiche. | Utiliser <code>CloseAction := caFree;</code> dans l'événement OnClose de la fiche. | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
procedure TMyForm.Formclose(Sender: Tobject; var Closeaction: Tcloseaction); | procedure TMyForm.Formclose(Sender: Tobject; var Closeaction: Tcloseaction); | ||
begin | begin | ||
Line 27: | Line 27: | ||
*La référence à toute forme de cette classe devrait être enregistrée dans cette unique variable globale. | *La référence à toute forme de cette classe devrait être enregistrée dans cette unique variable globale. | ||
}} | }} | ||
− |
Latest revision as of 10:11, 29 February 2020
│
Deutsch (de) │
English (en) │
français (fr) │
Parfois, une fiche peut être lancée depuis plusieurs endroits dans un programme. Si elle existe déjà, il suffit de la placer en avant-plan, sinon elle doit être créée.
La façon la plus simple est celle-ci :
if (MyForm = nil) then Application.CreateForm(TMyForm, MyForm);
MyForm.Show;
Utiliser CloseAction := caFree;
dans l'événement OnClose de la fiche.
procedure TMyForm.Formclose(Sender: Tobject; var Closeaction: Tcloseaction);
begin
CloseAction := caFree;
MyForm := nil;
End;
Cette méthode provient des discussions dans le forum.