Sortir d'une application

Résolu
tleboukaka Messages postés 79 Date d'inscription lundi 26 février 2007 Statut Membre Dernière intervention 5 mai 2010 - 27 févr. 2007 à 17:50
tleboukaka Messages postés 79 Date d'inscription lundi 26 février 2007 Statut Membre Dernière intervention 5 mai 2010 - 1 mars 2007 à 17:40
Débutant en Delphi :



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




J’ai une fiche de connexion «  frmCon  » avec 2 boutons : btnAnnuler et btnOk


Un clic sur btnOk,
ouvre une 2e fiche « frmMenu » qui a les boutons btnQuitter et btnChangerUser


 Alors depuis la fiche frmMenu,  quand je clique sur btnQuitter (avec <?xml:namespace prefix st1 ns "urn:schemas-microsoft-com:office:smarttags" /??><st1:personname w:st="on" productid="la Procedure Close">la Procedure Close</st1:personname>), mon application est toujours en train de s’exécuter (Running) au lieu de s’arreter, bien que la fiche frmMenu est fermée. Je retombe à frmCon, quand dans l’evenement btnOk je supprime Hide



Pour le bouton btnChangerUser, comment faire pour que tout soit réinitialisé (tout soit fermé) et me présente frmCon à nouveau avec une possibilité de saisir un autre utilisateur...tout en quittant dejà l'ancien utilisateur. ce bouton veut dire que l'ancien utilisateur donne place au nouveau utilisateur






Comment faire pour que mon application soit arretée correctement (quitte completement Delphi) quand je la quitte avec le bouton btnQuitter de frmMenu?



 




Merci d’avance pour la solution



 













Thibeault Lionel Eric

6 réponses

ThWilliam Messages postés 418 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 26 novembre 2013 4
1 mars 2007 à 09:10
Salut.

Tu dois vérifier cela dans l'événement OnClick de ton BtnOk de frmCon.
Avant cela, tu dois, dans l'inspecteur d'objets, initialiser la propriété ModalResult de BtnOk à mrNone.
Puis tu peux faire un code du genre :

procedure TfrmCon.BtnOkClick(Sender: TObject);
begin
      if  not OkUser  // ta fonction vérifiant le nom de l'utilisateur
      then 
      begin
            ShowMessage('Nom utilisateur inconnu');
            Exit; 
      end;
     if not OkPassWord  // ta fonction vérifiant le mot de passe
     then
     begin
          ShowMessage('Mot de passe incorrect');
          Exit;
      end;
      ModalResult:= mrOk;  // fermeture de frmCon si tout est Ok
end;

A +
Thierry
3
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
27 févr. 2007 à 18:36
Salut !

Une des façons les plus simples est d'appeler Application.Terminate;
sinon, tu peux appeler la procédure Close() de la fiche principale.

Pour ton autre question, tout dépend comment tu gère la connexion des utilisateurs. Avec le peu d'informations que tu nous donnes, je n'ai pas de réponse concrète à te donner.

++
0
ThWilliam Messages postés 418 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 26 novembre 2013 4
27 févr. 2007 à 18:41
Salut.

D'après ce que je comprend, "frmCon" est la fiche principale de ton programme et c'est elle qui lance "frmmenu".
Tu devrais faire l'inverse :
- fiche principale = frmMenu
- au lancement de ton programme, l'appel au showmodal de la fiche frmCon se fait dans frmMenu.
- c'est dans frmCon que tu fais le changement de User avec possibilité d'annuler, c'est-à-dire de terminer ton programme.
- tu places dans le menu de frmMenu (ou bouton) un réappel possible à frmCon.

procedure TfrmMenu.LoadFrmCon;  // à déclarer dans section private de TfrmMenu
begin
       frmCon.showmodal;
       if frmCon.modalresult = mrCancel then Close; // bouton annuler de frmCon
       // le bouton Ok de frmCon doit renvoyer modalresult = mrOk;
       // regarde la propriété ModalResult de TButton
end;

procedure TfrmMenu.FormShow(Sender: TObject);
begin
      LoadFrmCon;
end;

procedure TfrmMenu.BtnChangeUserClick(Sender: TObject);
begin
     LoadFrmCon;
end;

procedure TfrmMenu.BtnExitClick(Sender: TObject);
begin
    Close;
end;

A +
Thierry
0
tleboukaka Messages postés 79 Date d'inscription lundi 26 février 2007 Statut Membre Dernière intervention 5 mai 2010
27 févr. 2007 à 20:12
Merci Thierry
ca marche bien

Thibeault Lionel Eric
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tleboukaka Messages postés 79 Date d'inscription lundi 26 février 2007 Statut Membre Dernière intervention 5 mai 2010
1 mars 2007 à 08:45
salut
Au fait je me suis rendu compte de quelque chose pour mon application qui m?embete :<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

L’application tourne comme Thierry m’a donné la façon de faire, c'est-à-dire dans frmCon quand je saisie le bon Nom Utilisateur et le bon Mot De passe

Mais malheureusement, elle continuer à s’ouvrir (la fiche frmMenu s’ouvre toujours) quand même je saisi un mauvais utilisteur et même un mot de passe erroné.  Quand bien même elle affiche le msg « Utilisateur Inconnu » ou « Mot de passe invalide », la fiche frmMenu s’ouvre toujours !!!

Alors je suis perturbé ? que faire dans ce cas ?

Aidez moi pour avancer svp

 

 

 

Thibeault Lionel Eric
0
tleboukaka Messages postés 79 Date d'inscription lundi 26 février 2007 Statut Membre Dernière intervention 5 mai 2010
1 mars 2007 à 17:40
Slt

merci pour la sympathie et la volonté de vouloir m'aider à progresser
je bien essayer le code que Thierry m'a donné, je le fait d'ici 3 jours car je profite de programmer seulement pendant les heures creuse au niveau de mon service. je le fait que au Travail/job.
Merci encore, et des possible je réagirai - je vous repondrai

Thibeault Lionel Eric
0
Rejoignez-nous