Bug ou pas Bug

Meskine - 6 févr. 2001 à 16:29
 Mariner - 6 févr. 2001 à 21:44
Bonjours;

y-t-il une personne qui a rencontré ce genre de bug

SUB TEST()
dim x as long
x=32767+2
END SUB

le message suivant apparait :
"ERROR ??? depacement de capacité"

Le correctif suivant marche ??
SUB TEST
dim x as long
dim y as integer
y=32767
x=y+2
END IF

1 réponse

Dans ton premier cas, VB crée avec chacun de tes chiffres une variable temporaire la plus petite selon le plus petit de tes chiffre pour les contenir, donc Long = Byte + Byte.
Un Byte aillant un max de 255, ça plante.

Dans le second cas, puisque 'y' est un entier, ça force à Calculer Long = Integer + Byte et la variable temporaire n'est plus cachée mais 'x'.

Je comprend moi-même mal la logique mais j'ai vu cela il y as quelques temps sur MSDN.
0
Rejoignez-nous