Bonsoir,
a la fermeture de mon programme j'obtient parfois ce message d'erreur :
Pièce jointe 205079
je ne vois pas ce qu'il signifie et je n'ai rien trouvé sur le net, pourriez éclairer ma lanterne ?
Merci d'avance.
Version imprimable
Bonsoir,
a la fermeture de mon programme j'obtient parfois ce message d'erreur :
Pièce jointe 205079
je ne vois pas ce qu'il signifie et je n'ai rien trouvé sur le net, pourriez éclairer ma lanterne ?
Merci d'avance.
Bonsoir,
Le mot clé "End" n'a rien à faire à cet endroit, supprimes-le !
Oui effectivement, j'ai essayé aussi
pour fermer mon application, mais le résultat est le même toujours l'exception Win32 !Code:Me.close
j'ai trouvé, en effet je demande a travers un 'msgbox' la confirmation de la fermeture de mon application, et donc il fallait que je ferme la 'msgbox' avant la fermeture de mon programme donc j'ai fait ceci, et sa fonctionne :
voila si un jour cela peux rendre serviceCode:
1
2
3
4
5
6
7
8 If MessageBox.Show("Voulez vous quitter l'application ?", "Attention", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then connection_Mysql.Close() 'ferme la connexion mysql 'raz_defaut_carterelais() 'SerialRelais.Close() My.Settings.Save() Me.Dispose() Me.Close() End If
Bonjour,
La MessageBox est fermée lorsque tu cliques sur Yes ou No.
il me semble que ceci est plus simple et plus propre.
Code:
1
2
3
4
5
6
7
8 Private Sub frm_Main_FormClosing(sender As System.Object, e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing If MessageBox.Show("Voulez vous quitter l'application ?", "Attention", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then connection_Mysql.Close() 'ferme la connexion mysql My.Settings.Save() Else e.Cancel = True End If End Sub
Il y a aussi quelque chose qui me choque dans ce code, c'est d'avoir mis le connection_Mysql.Close() 'ferme la connexion mysql dans l'évènement qui ferme la form.
En règle génèrale on n'est pas censé garder une seule et unique connexion ouverte pendant la durée de vie de l'application. On doit ouvrir une nouvelle connexion quand on en a besoin, puis la fermer dès que possible. C'est le SGBD qui gère lui-même les connexions de son côté, à l'aide du pool de connexions.
Le pool gère lui-même les connexions et la principale raison c'est que ca lui permet d'optimiser ses ressources pour pouvoir être appelé par plusieurs clients. Ton application ne peut pas savoir qu'elle doit libérer sa connexion parce qu'une autre en a besoin, ou alors ca nécessiterai la mise en oeuvre d'une logique complexe.
Enfin, pour ton application elle-même, avoir une connexion ouverte non stop peut créer des problèmes, par exemple un timeout inopiné, ou encore une interruption du réseau entre temps... Bien sûr avoir une nouvelle connexion à chaque fois ne garanti rien mais ca évite des situations inhabituelles et difficiles à gérer.