cs_leseb
Messages postés9Date d'inscriptionlundi 28 janvier 2002StatutMembreDernière intervention27 janvier 2004
-
21 janv. 2004 à 11:07
Surfurax
Messages postés61Date d'inscriptionmardi 26 août 2003StatutMembreDernière intervention25 mai 2005
-
22 janv. 2004 à 10:27
Dans mon commondialog j'essaye de gérer l'annulation mais vb6 me dit bien que mon "showsave" à générer une erreur mais il n'effectue pas le "on error goto". Voici mon code
Sub Sauvegarde()
' La propriété CancelError de mon Commondialog a la valeur True.
' L'utilisateur a sélectionné le bouton Annuler.
If Not FrmMain.XlDoc Is Nothing Then
FrmMain.XlDoc.Close False
End If
If Not FrmMain.XlApp Is Nothing Then
FrmMain.XlApp.Visible = True
FrmMain.XlApp.Quit
End If
MsgBox "Erreur interne"
Surfurax
Messages postés61Date d'inscriptionmardi 26 août 2003StatutMembreDernière intervention25 mai 2005 21 janv. 2004 à 17:28
Salut,
Première chose, quand tu es dans ton code, clique sur le bouton droit de ta souris, vas sur "basculer", vérifies que tu es bien sur "Arrêt sur les erreurs non gérées".
Si c'est le cas mais qu'il ne fait quand même pas le goto, vire le "Exit Sub" (avant le "Annuler:") et mets plutot un "Goto Fin", puis rajoute un "Fin:" juste avant le "End Sub".
Si il bascule bien sur l'erreur, vérifie que c'est bien un cancel, pour cela rajoute le test suivant :
cs_leseb
Messages postés9Date d'inscriptionlundi 28 janvier 2002StatutMembreDernière intervention27 janvier 2004 22 janv. 2004 à 10:05
Oui c'était bien une histoire de "basculer", "Arrêt sur les erreurs non gérées". Je n'y aurais jamais pensé.
Merci
PS:Si tu as le temps faudrait m'expliquer la différence entre ces trois modes d'arrêt sur les erreurs.
Surfurax
Messages postés61Date d'inscriptionmardi 26 août 2003StatutMembreDernière intervention25 mai 2005 22 janv. 2004 à 10:27
Salut,
Dans le premier cas, quelle que soit l'erreur, gérée ou non, VB s'arrête.
Dans le deuxième cas, si l'erreur survient dans un module de classe, VB s'arrête.
Dans le dernier cas, VB ne s'arrête que si tu n'as pas de "on error goto" dans ta procédure.