Probleme de fermeture du programme

Résolu
papipsycho Messages postés 45 Date d'inscription samedi 24 mai 2003 Statut Membre Dernière intervention 1 janvier 2008 - 22 juil. 2005 à 22:26
cs_Jack Messages postés 14007 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==--

1 réponse

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 77
22 juil. 2005 à 23:39
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
3
Rejoignez-nous