Appel d'une Form

Signaler
Messages postés
281
Date d'inscription
dimanche 7 avril 2002
Statut
Membre
Dernière intervention
11 avril 2013
-
Messages postés
4
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
22 mai 2012
-
salut,
pour appeler une form, certains utilisent la méthode suivante :

------------------------------------------------------------Form1.Show
------------------------------------------------------------

ou

------------------------------------------------------------Form1.ShowModal
------------------------------------------------------------

pour d'autre, ils préfèrent utiliser la méthode suivante :

------------------------------------------------------------Application.Createform(TForm1, Form1);
Form1.ShowModal;
Form1.Release;
------------------------------------------------------------

Tout en sachant que la Form est déjà créer avant de l'appeler par la deuxième méthode.

- Quelle est la déférence entre Show et SowModal ?
- Quelle est la déférence entre les deux méthodes et quelle est la meilleure ?

Merci

Avoir des amis sur :
http://www.geocities.com/elatlasclub

2 réponses

Messages postés
962
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
12 septembre 2006
2
Show/ShowModal Il y a deux différences majeures :
1/
- Form1.Show ne bloque pas le programme, donc toutes les instructions situées arpès le Show sont exécutées dés que la fiche est affichée.
- Form1.ShowModal bloque le programme, les instructions suivantes ne seront exécutées qu'à la fermeture de la fiche.
2/
Une fenêtre affichée avec ShowModal bloque l'accès à toutes les autres fenêtres tant que celle ci n'est pas fermée. Avec le Show ce n'est pas le cas.

Exemple :
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.ShowModal;
ShowMessage('SHOWMODAL:Ce message s''affiche une fois que Form2 est fermée');
end;
Dans ce cas tant que Form2 est visible il n'est pas possible de cliquer sur Form1 même en déplaçant Form2. C'est le cas typique des boite de dialogue qui attendent des saisies avant de continuer.

procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.Show;
ShowMessage('SHOW:Ce message s''affiche de suite');
end;
Dans ce cas il est possible d'accéder à Form1 sans fermer Form2. C'est le cas principal des fenêtres d'outils ou de volet de visualisation. Les fiches affichées comme ceci ont souvent la propriété StayOnTop de manière à rester visible ( mais ce n'est pas obligatoire ).

Quant à la dernière méthode elle permet de créer des fiches à l'exécution seulement quand on en a besoin. Par défaut toutes les fiches de Delphi sont crées automatiquement au démarrage. On peut choisir dans les options du projet celles qui ne seront pas crées automatiquement. Mais attention : si une fiche n'est pas créée, aucun des composants qu'elle contient n'est accéssible. De même après le Release tous les composants de la fiche sont détruits. Il faut donc sauver avant les valeur utiles ( entre le ShowModal et le Release ). L'utilisation de cette méthode est surtout réservée aux fiches servant ensuite de composants comme les OpenDialog ou SaveDialog. Dans la plupart des applications cette méthode est inutile.

--- :sleepy) Nono du Moulin :sleepy) ---
Messages postés
4
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
22 mai 2012

comment apeller les fonction declarer dans le project principal apartir d'une nouvel form