[RESOLU] Encore showmodal qui foire. Besoin d'aide.

Encore showmodal qui foire. Besoin d'aide. [RESOLU] - Delphi/Pascal - Programmation

Marsh Posté le 18-06-2011 à 14:19:52    

Bonjour à tous .
 
J'ai -encore- besoin d'aide sur une instruction ShoModal. Ca ne rentre pas, ce truc. Il y a une fenêtre modale qui fonctionne très bien ds mon prog, mais c'est la seule.
 
J'ai cette réponse :http://hfr-rehost.net/self/pic/a86ff70b65f7685ff5d2a457b99e5595be3b7457.png
 
à chaque fois !!!
 
Je voudrais un moyen sûr, garanti, d'effectuer un appel à showmodal : j'en suis réduit à utiliser GExperts à chaque fois que je veux poser une question ou afficher un msg !!
 
Vous voulez des informations sur qqch ? Je réponds.
 
Merci
 
P.S.:
 
Ds la prodédure de la Form qui appelle, j'ai ceci :

Code :
  1. Retour := Form2.ShowModal;


 
ds la Form appelée, à l'événement OnShow, j'ai ça :
 
 

Code :
  1. Procedure Pilote_Question_Casse;
  2. begin
  3.         Touche := 0;
  4.         Form2.Btn_Non.SetFocus;
  5. end;


 
 :pfff:


Message édité par HERIBERT le 18-06-2011 à 16:19:34
Reply

Marsh Posté le 18-06-2011 à 14:19:52   

Reply

Marsh Posté le 18-06-2011 à 15:38:00    

Bonjour,
bon je suis nul en pascal mais mets plus de code on sait jamais (tout le code lié à form2).
Ca doit être une mauvaise initialisation.


---------------
Seul Google le sait...
Reply

Marsh Posté le 18-06-2011 à 16:19:12    

breizhbugs a écrit :

Bonjour,
bon je suis nul en pascal mais mets plus de code on sait jamais (tout le code lié à form2).
Ca doit être une mauvaise initialisation.


J'allais inscrire [RESOLU]
 
Voici comment je le fais marcher :  
 

Code :
  1. Form2 := TForm2.Create(Application);
  2.       Retour := Form2.ShowModal;
  3.       Form2.Free;
  4.       // Suite du prog ----
  5.       if Retour = mrYes then Respecter_Casse_Pendant_Indexation := False
  6.       else Respecter_Casse_Pendant_Indexation := True;


Reply

Marsh Posté le 21-06-2011 à 11:49:19    

bon, voici ce que j'ai compris de ta problématique :
 
tu veux que ton programme affiche une boite de dialogue "oui/non", et récupérer le résultat dans ta variable "Respecter_Casse_Pendant_Indexation".
 
Je te conseille d'utiliser la fonction "MessageDlg", en mettant l'unité "Dialogs" dans tes uses.
 
pour ton cas, ça donnerait ça :
 

Code :
  1. Respecter_Casse_Pendant_Indexation := MessageDlg('Question à poser',mtWarning,[mbYes,mbNo],0) = MrYes;


 
 
Note que ça t'évite au passage de créer une nouvelle unité pour la fenêtre qui pose la question, c'est déjà géré.
 
Sinon, explicite un peu plus, car je ne comprends pas bien ce que viens faire le "showmodal" là dedans ?

Message cité 1 fois
Message édité par caRnAGE le 21-06-2011 à 11:56:44
Reply

Marsh Posté le 22-06-2011 à 20:30:38    

caRnAGE a écrit :

bon, voici ce que j'ai compris de ta problématique :
 
tu veux que ton programme affiche une boite de dialogue "oui/non", et récupérer le résultat dans ta variable "Respecter_Casse_Pendant_Indexation".
 
Je te conseille d'utiliser la fonction "MessageDlg", en mettant l'unité "Dialogs" dans tes uses.
 
pour ton cas, ça donnerait ça :
 

Code :
  1. Respecter_Casse_Pendant_Indexation := MessageDlg('Question à poser',mtWarning,[mbYes,mbNo],0) = MrYes;


 
 
Note que ça t'évite au passage de créer une nouvelle unité pour la fenêtre qui pose la question, c'est déjà géré.
 
Sinon, explicite un peu plus, car je ne comprends pas bien ce que viens faire le "showmodal" là dedans ?


 
Je vais essayer d'expliquer.
 
Grosso modo, ça me permet d'avoir une gestion plus personnelle, moins pré-formatée, d'une boîte de dialogue. Pour les questions simples, AdvTaskDialog me conviendrait très bien. Mais je ne le paîtrise pas :??: J'ai du mal à comprendre le source que j'ai en main. Dommage qu'actuellement, je n'ai pas installé les librairies AdvTaskDialog (j'aurais pu faire une photo-écran).  
 
Par ailleurs, une nouvelle Form me permet aussi bcp plus qu'une simple boîte de dialogues : saisie de texte, traitements spécifiques à tel moment du prog, etc...
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed