Page 1 sur 1
Incompréhension avec GetErrorDescription()
Publié : mer. 21/avr./2004 11:01
par Oliv
Je ne sais pas à cause de quoi mais je reçois avec la librairie on error et la commande GetErrorDescription() :
An attemped read or write to/from an address to which that process isn't allowed
Qu'estce que ça peut bien vouloir dire?merci
Publié : mer. 21/avr./2004 11:13
par Fred
Ca veut dire que tu lis ou ecris dans une zone memoire qui n'est pas encore alloué (depassement de buffer, pointer erroné etc.)
Publié : mer. 21/avr./2004 12:24
par Oliv
ok merci
il reste plus qu'a trouver où

Publié : mer. 21/avr./2004 17:07
par Fred
Active le support des lignes d'erreur et utilise les fonctions de la library OnError: GetErrorLineNR() et GetErrorModuleName().
Publié : mer. 21/avr./2004 17:27
par Oliv
Justement je ne comprends pas car GetErrorLineNR() me renvoi 0.
J'ai juste fait debug GetErrorLineNR(), est-ce moi qui m'en sert mal ?
Merci
Publié : mer. 21/avr./2004 19:17
par Oliv
Même si je ne comprends pas bien le fonctionnement des OneError(), j'ai résolu mon problème : j'avais fait AllocateMemory(*Buffer) donc forcément......
Sinon il y a un problème dans l'aide quand on est dans la rubrique GetErrorLineNR() le lien vers GetErrorModulNR() n'est pas bon.
Publié : mer. 21/avr./2004 19:33
par julien
Oliv, pour le numéro de ligne il faut l'activer dans les options de compilation
Voici un code qui gère l'affichage des erreurs
Code : Tout sélectionner
OnErrorGoto(?ERREUR) ;Si une erreur survient on va vers ERREUR:
MessageRequester("","Test Erreur Division par 0"+Chr(10)+"Pensez à activer Enable on Error Lines...","")
For k=0 To 5
E=10/k ; provoque une Div par 0
Next k
End
ERREUR :
Debug "--ERREUR--"
Debug "Description : "+GetErrorDescription()
Debug "Ligne n°"+Str(GetErrorLineNR())
Debug "-------"
Publié : mer. 21/avr./2004 19:44
par nico
Moi, Il m'indique une erreur ligne 4 --> For k=0 To 5
au lieu de ligne 5 --> E=10/k ; provoque une Div par 0
est-ce normal ?
Publié : mer. 21/avr./2004 19:55
par julien
tout à fait, est ce un Bug ? il revient une ligne en arrière...
