Appel d'une Form

cs_apz Messages postés 281 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 11 avril 2013 - 7 août 2002 à 21:06
nabilobz Messages postés 4 Date d'inscription jeudi 4 février 2010 Statut Membre Dernière intervention 22 mai 2012 - 22 mai 2012 à 20:26
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
A voir également:

2 réponses

cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
8 août 2002 à 00:14
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) ---
0
Rejoignez-nous