Bonjour,
J'ai un problème assez difficile à régler.
J'ai un code où il semble avoir une variable mal initialisée ou traitée. Les symptômes sont les suivants :
-Lorsque je ferme l'application bien souvent il me fait l'erreur suivant :
+Access Violation at adress :... in module BXXXX.DLL
+Enfin, violation d'accès standard, seulement elle s'effectue à la fin de tout.
-Lorsque, j'effectue une séquence d'opération, la même erreur survient.
-Je me mets des breakpoints et le problème ne semble pas venir de la ligne où le problème survient.
-J'interchange la position de deux variables dans la déclaration exemple :
Devient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 AnsiString temp = ""; AnsiString deuxiemeTemp = "";
Et le programme passe par dessus l'ancien breakpoint sans broncher.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 AnsiString deuxiemeTemp = ""; AnsiString temp = "";
-Je mets des grandes parties de code en commentaire, l'erreur disparaît. Je rejoute progressivement le code qui était en commentaire au code normal. Tout fonctionne jusqu'à un point qui ne me semble pas problématique. J'effectue quelque modification du type :
Et le problème est régler, mais survient à un endroit où avant il n'y avait pas d'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ShowMessage(AnsiString(i+1)); devient tempo = AnsiString(i+1); ShowMessage(tempo);
Enfin, je semble traquer un fantôme... si quelqu'un connait un moyen de trouver la source...
J'ai essayer avec CodeGuard, mais il me pointe toujours la ligne :
il semblerait que cela soit un bug dans codeguard (selon ce que j'ai lu sur internet).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 inFile.getline(temp, sizeof(temp)); où char temp[256];
Si quelqu'un a une idée...
merci...
antoine
Partager