Probleme de fermeture du programme [Résolu]

Messages postés
45
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
1 janvier 2008
- - Dernière réponse : cs_Jack
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
- 22 juil. 2005 à 23:39
voila mon probleme je teste mon application mais quand elle est fause
(sa devrait fermer le programme) et bien sa plante sans aucune msg
erreur



'dans From_Load
checksum = MD5File(App.Path & "" & App.EXEName & ".exe")

If checksum = "3f5e35c66c6caf698700308e55e835f6" Then

coup = False

Else

coup = True

Unload Me

End If



Private Sub Form_Unload(Cancel As Integer)

If coup = False Then

Select Case MsgBox("Vouler vous arreter le program?", vbOKCancel + vbQuestion, "Confirmation")

Case vbOK

Me.TimeOutTimer.Interval = 1

RestoreResizing (Me.hWnd)

Arret = False

Unload Me

Case vbCancel

Cancel = True

End Select

ElseIf coup = True Then

Unload Me

End If

End Sub



merci de m'aider
--==Papi Psycho==--
Afficher la suite 

1 réponse

Meilleure réponse
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
62
3
Merci
Salut
Il ne plante pas : il continue à tourner !
En effet, le passage dans Form_Unload ne ferme pas l'application, il définis si la forme doit être déchargée (Cancel = 0) ou pas (Cancel <> 0).
Pour terminer ton application, il suffit d'ajouter un End à la fin :
If Cancel = 0 Then End

D'après ce que je vois, tu refais des "Unload Me" dans le Form_Unload
Regarde si cela ne se mord pas la queue (overflow de la pile)
Supprime les "Unload Me".

Vérifie aussi que ta variable Coup soit correctement dimensionnée dans déclaration de ta forme ou en Public dans un moduleD'autre part, les commandes "Me.TimeOutTimer.Interval 1" ou "Arret False" n'auront aucun effet puisque, dès que le "End" sera lu, l'appli se fermera.
Eventuellement, ajoute un DoEvents avant de sortir pour qu'une autre Sub puisse prendre en compte ces paramètres avant la fin.
If Cancel = 0 Then DoEvents : End

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
(je

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 208 internautes nous ont dit merci ce mois-ci