Comment fermer une application .net à partir d'une instruction dans le code?

Résolu
FNIAMKE Messages postés 83 Date d'inscription vendredi 17 juillet 2009 Statut Membre Dernière intervention 27 juin 2016 - 20 mars 2009 à 11:07
NHenry Messages postés 15032 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 janvier 2023 - 2 juin 2009 à 20:32
Bonjour Monsieur / Madame!

J'ai du mal à fermer mon application .net avec l'instruction Application.exit.

Je souhaite aussi savoir comment faire à partir de l'aide avoir les différentes valeurs des erreurs sous .net!

Merci de votre soutien!

Bonne journée à+

NIAMKE Francis
A voir également:

8 réponses

NHenry Messages postés 15032 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 janvier 2023 156
23 mars 2009 à 20:27
Bonjour,

Ton code (celui que tu as mis) n'est pas digne d'être utilisé en .NET, il n'exploite aucune (ou très peu) des propriété du Framwork, c'est à supposer qu'il s'agit d'un code VB6.

Je vais essayer de t'aiguiller un peu en reprenant cette partie de code et en supprimant le Goto et en améliorant le tout (pour la maintenabilité et la lisibilité) :

'Procédure de gestion, appelée au lancement de la Form principale :
Public Sub Connecter()
dim lNbEssai as integer=0
    do
        if FrmConnection.ShowDialog()=DialogResult.Cancel then 'Utiliser le Cancel proposé dans l'énumération
            close
            exit sub
        end if
       
        if vConnection.ConnecterAUneBase() then
            exit sub
        else
            Moucharder(Now, vConnection.NomUser, 1,"Connection frauduleuse" , "" , "" )
            MessageBox.show("Tentative frauduleuse de connection!", "Connexion" , MessageBoxButtons.OK, MessageBoxIcon.Information)
        end if
        lnbessai+=1
        if lNbEssai>=3 then
            close
            exit sub
        end if
    loop
end sub

Ensuite, dans ta form FrmConnection, avant de fermer la fenêtre, tu définir Me.DialogResult=
DialogResult.Cancel 'en cas d'annulation
DialogResult.OK 'En cas de validation

Nota : Code tapé en-dehors de l'éditeur, peut comporter quelques erreurs involontaires.

Du coup, plus de goto, et un code plus lisible.
La sortie de l'application se fait sur le formulaire dans lequel est la sub et c'est tout, si ça ne fonctionne pas, je reste à l'écoute.

http://nhen0039.chez-alice.fr/index.php
3
NHenry Messages postés 15032 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 janvier 2023 156
25 mai 2009 à 16:49
Bonjour,

Close, c'est pour fermer la fenêtre, tu peux utilise Me.Close. Si ça ne fonctionne toujours pas, est-ce que ta procédure "Connecter" est dans la form principale ?

http://nhen0039.chez-alice.fr/index.php
3
NHenry Messages postés 15032 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 janvier 2023 156
20 mars 2009 à 22:09
Bonjour,

"J'ai du mal à fermer mon application .net avec l'instruction Application.exit."
Ton programme est encore dans la liste des tâches ? Si oui, execute-il une boucle, un thread ?

"Je souhaite aussi savoir comment faire à partir de l'aide avoir les différentes valeurs des erreurs sous .net!"
La liste des valeurs des erreurs ? "On error Goto" ? Si oui, préfère Try Catch en .NET.

http://nhen0039.chez-alice.fr/index.php
0
FNIAMKE Messages postés 83 Date d'inscription vendredi 17 juillet 2009 Statut Membre Dernière intervention 27 juin 2016
23 mars 2009 à 16:51
Bonjour Monsieur!


Dans mon programme, j'affiche une fenêtre pour permettre à l'utilisateur de saisir son nom et son mot de passe.


Je vérifie si il a le droit d'utiliser l'application; Si oui je continue mon traitement, sinon je lui affiche un message pour lui dire la connection a échouée!


Il a droit  à 3 tentives. Au délà de la 3ème tentive infructueuse je souhaite fermer l'application; j'appelle donc l'instruction Application.exit. Mais je constacte que l'application ne se ferme.

Qu'est ce qu'un thread?

Pourquoi vous préférez un try catch à un on error goto...?

Voir la partie du code concernée.


Connection:


FrmConnection.ShowDialog()



If



Not
ConnectCancel

Then








Exit



Sub






End



If






Do



While



Not
vConnection.ConnecterAUneBase()

And
i <= 3


   If
i >= 3

Then

      Moucharder(Now, vConnection.NomUser, 1,




"Connection frauduleuse"
,

""
,

""
)      MsgBox(


"Tentative frauduleuse de connection!"
, MsgBoxStyle.Information)      Application.Exit()


      Exit



Sub






   Else

      i = i + 1







      GoTo
Connection


   End



If


Loop

Merci de votre soutien!

Bonne soirée

NIAMKE Francis
0

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

Posez votre question
FNIAMKE Messages postés 83 Date d'inscription vendredi 17 juillet 2009 Statut Membre Dernière intervention 27 juin 2016
25 mai 2009 à 14:37
Bonjour Monsieur!


J'ai essayé le code que vous m'avez apporté, mais je n y arrive pas à fermer mon application


il met un message d'erreur sur l'instruction close( )
Il dit que : Close n'est pas déclaré. La fonctionalité d'E/S de fichier est disponible dans l'espace de noms Microsoft.VisualBasic

Merci de m'apporter assistance!

NIAMKE Francis
0
FNIAMKE Messages postés 83 Date d'inscription vendredi 17 juillet 2009 Statut Membre Dernière intervention 27 juin 2016
25 mai 2009 à 17:31
Bonsoir Monsieur,


Mon souci est de fermer l'application ou la solution et non la fenêtre.


Merci de votre soutien!

Bonne soirée

NIAMKE Francis
0
NHenry Messages postés 15032 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 janvier 2023 156
25 mai 2009 à 22:21
Bonjour,

Merci de ne marquer une réponse acceptée que si elle est la solution à votre problème. Car ce marquage réduit sensiblement la probabilité d'avoir une autre aide.

Quel est le type d'application, car si il y a un thread qui fonctione, il faut l'arrêter, sinon (avec les paramètres pas défauts), la fermeture de toutes les fenêtre induit l'arrêt de l'executable.

http://nhen0039.chez-alice.fr/index.php
0
NHenry Messages postés 15032 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 janvier 2023 156
2 juin 2009 à 20:32
Bonjour,

Merci de répondre sur le même thread que celui qui a été ouvert.

De FNIAMKE :
Bonsoir Monsieur!

Ma procédure Connecter n'est pas dans ma form principale! Elle dans un module.

Merci de votre Assistance!

Bonne soirée!

---------------------------

Tu peux essayer Application.Exit, sinon, mémorise (dans un List(of ...) dans un module) les fenêtre ouvertes et fermes-les pour quitter. Je ne vois pas vraiment comment t'aider plus.

http://nhen0039.chez-alice.fr/index.php
0
Rejoignez-nous