cs_apz
Messages postés281Date d'inscriptiondimanche 7 avril 2002StatutMembreDernière intervention11 avril 2013
-
7 août 2002 à 21:06
nabilobz
Messages postés4Date d'inscriptionjeudi 4 février 2010StatutMembreDernière intervention22 mai 2012
-
22 mai 2012 à 20:26
salut,
pour appeler une form, certains utilisent la méthode suivante :
cs_Nono40
Messages postés962Date d'inscriptionmercredi 3 avril 2002StatutMembreDernière intervention12 septembre 20062 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.