fichier vb6 exe , comment trouver les erreurs

Le
Jacquelin Hardy
bonjour,

j'ai écrit un logiciel en VB6 qui utilise un gros dll écrit en C++,
dont je connais l'auteur.

Mon logiciel me donne des erreurs dont je suis incapable d'identifier
la source.

En mode développeur, j'obtiens des erreurs "Overflow error", "division
by zero".

Quand je regarde la ligne sur laquelle l'erreur a fait stopper le
programme, ça ne fait pas de sens. Par exemple, je veux afficher la
valeur d'une variable dblA dans le lbl(5). En passant le curseur sur
dblA, c'est écrit 20 alors que j'ai une erreur "Division by zero"

Le logiciel, en gros, affiche une carte électronique marine, sous
plusieurs échelles. J'ai remarqué qu'à très petite échelle, ie en
représentant une grande surface, ça plante plus souvent.

Si quelqu'un a une piste, j'apprécierais beaucoup.

Merci

Jacquelin Hardy

jachardy.moinsceci@videotron.ca
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LE TROLL
Le #21424581
Bonjour,

Tiens, avant de répondre j'ai une question depuis longtemps pour toi :
Quand on est en coordonnée géographique 0 0, on écrit 0E 0N ou 0W 0S ou 0 0,
je dis ceci sur le principe de l'uniformité, car si on met 0 0 ça jure
0E1N
0 0
0E1S
par rapport aux autres coordonnées ?
-----------

En réponse,

Overflow, tente de passer tes variables en double pour voir... C'est je
pense un dépassement de capacité.
Il faudrait tout affiche pour reproduire l'opération
msgbox r

Division par 0, tu peux transformer la division en multiplication dans
certain cas, avec derrière un arrondi, tout dépend du résultat désiré, c'est
souvent possible
voir int(), fix(), round()
Sur la ligne tu peux écrire:
if x <> 0.0 then x / y
Ou voir pourquoi ça produit 0 ? C'est peut être normal...
msgbox "dd = " & dividende & vblf & "dv = " & diviseur & vblf & "r = " &
reste & vblf & "Q = " & quotient

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"Jacquelin Hardy" news:%
bonjour,

j'ai écrit un logiciel en VB6 qui utilise un gros dll écrit en C++, dont
je connais l'auteur.

Mon logiciel me donne des erreurs dont je suis incapable d'identifier la
source.

En mode développeur, j'obtiens des erreurs "Overflow error", "division by
zero".

Quand je regarde la ligne sur laquelle l'erreur a fait stopper le
programme, ça ne fait pas de sens. Par exemple, je veux afficher la valeur
d'une variable dblA dans le lbl(5). En passant le curseur sur dblA, c'est
écrit 20 alors que j'ai une erreur "Division by zero"

Le logiciel, en gros, affiche une carte électronique marine, sous
plusieurs échelles. J'ai remarqué qu'à très petite échelle, ie en
représentant une grande surface, ça plante plus souvent.

Si quelqu'un a une piste, j'apprécierais beaucoup.

Merci

Jacquelin Hardy


Jacquelin Hardy
Le #21426171
Le 2010-03-23 06:26, LE TROLL a écrit :
Bonjour,

Tiens, avant de répondre j'ai une question depuis longtemps pour toi :
Quand on est en coordonnée géographique 0 0, on écrit 0E 0N ou 0W 0S ou
0 0, je dis ceci sur le principe de l'uniformité, car si on met 0 0 ça jure
0E1N
0 0
0E1S
par rapport aux autres coordonnées ?




Je n'ai pas de réponse certaine. Si tu es au pôle Nord, diras-tu "Je
suis en longitude quelconque". Ou bedon "J'ai beau regarder autour, je
n'y vois que le Sud. Pourtant, c'est pas chaud chaud."

Plus sérieusement,(je suis capable), en position Lat 0, Long 0,
j'écrirais ceci : ma position est : Lat 0 00.00, Long 000 00.00
Comme on est sur l'équateur, on n'est ni Nord si Sud. Et même chose pour
le méridien, on n'est ni Est ni West.
On peut comparer le cas à de la géométrie ; à droite de l'axe des y, les
x sont +. A gauche, ils sont moins. Sur l'axe, x = 0.

-----------

En réponse,

Overflow, tente de passer tes variables en double pour voir... C'est je
pense un dépassement de capacité.



Curieusement, toutes mes variables sont en déjà en double.

Il faudrait tout affiche pour reproduire l'opération
msgbox r

Division par 0, tu peux transformer la division en multiplication dans
certain cas, avec derrière un arrondi, tout dépend du résultat désiré,
c'est souvent possible
voir int(), fix(), round()
Sur la ligne tu peux écrire:
if x <> 0.0 then x / y
Ou voir pourquoi ça produit 0 ? C'est peut être normal...
msgbox "dd = " & dividende & vblf & "dv = " & diviseur & vblf & "r = " &
reste & vblf & "Q = " & quotient



Merci, je vais essayer ça.

A +

Jacquelin H.



Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"Jacquelin Hardy" news:%
bonjour,

j'ai écrit un logiciel en VB6 qui utilise un gros dll écrit en C++,
dont je connais l'auteur.

Mon logiciel me donne des erreurs dont je suis incapable d'identifier
la source.

En mode développeur, j'obtiens des erreurs "Overflow error", "division
by zero".

Quand je regarde la ligne sur laquelle l'erreur a fait stopper le
programme, ça ne fait pas de sens. Par exemple, je veux afficher la
valeur d'une variable dblA dans le lbl(5). En passant le curseur sur
dblA, c'est écrit 20 alors que j'ai une erreur "Division by zero"

Le logiciel, en gros, affiche une carte électronique marine, sous
plusieurs échelles. J'ai remarqué qu'à très petite échelle, ie en
représentant une grande surface, ça plante plus souvent.

Si quelqu'un a une piste, j'apprécierais beaucoup.

Merci

Jacquelin Hardy





Publicité
Poster une réponse
Anonyme