FNIAMKE
Messages postés83Date d'inscriptionvendredi 17 juillet 2009StatutMembreDernière intervention27 juin 2016
-
20 mars 2009 à 11:07
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024
-
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!
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 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.
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 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 ?
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 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.
FNIAMKE
Messages postés83Date d'inscriptionvendredi 17 juillet 2009StatutMembreDernière intervention27 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
FNIAMKE
Messages postés83Date d'inscriptionvendredi 17 juillet 2009StatutMembreDernière intervention27 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
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 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.
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 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.