Dépassement de capacité
Le
Christian Hubert-Hugoud / weabow - Xtrem7
Bonjour à tous,
Sous VB6 et Vista (pas sous XP), j'obtiens un dépassement de capacité sur
une assignation d'un entier long (Long), qui en fait se comporte comme un
Integer.
Avez-vous déjà eu ce pb et comment l'avez-vous résolu ?
Excellente continuation
Christian
Sous VB6 et Vista (pas sous XP), j'obtiens un dépassement de capacité sur
une assignation d'un entier long (Long), qui en fait se comporte comme un
Integer.
Avez-vous déjà eu ce pb et comment l'avez-vous résolu ?
Excellente continuation
Christian

Poser une question


Si je fais ça :
Dim l As Long
l = 123456789012
C'est un dépassement de capacité !
Qu'est-ce que tu lui rentres dans ton long, peut être quelque chose
d'indigeste ?
Il se comporte comme un integer, pourquoi ?
Ce sont des entiers signés éventuellement et seulement, dont la diférenc est
la capacité...
Il se passe quoi si tu mets un double à la place ?
--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.
"Christian Hubert-Hugoud / weabow - Xtrem7" le message de news:%
Si je dépasse les 32.000 et des peuffes, il plante le message d'erreur.
Je n'avais pas ce pb dans le passé. Je me demande si ce n'est pas une
question de Vista, car j'ai régulièrement des "curiosités".
"LE TROLL" news:
Je ne sais pas, moi avec Vista 32 + VB6, aucun problème, enfin, si, j'ai
juste eu les menus qui étaient devenus trop larges, voir les feuilles, mais
ça a peut être aussi à voir avec la taille de l'écran ? J'ai tout retassé,
depuis RAS.
Oui, ta variable long semble se comporter comme un integer, je ne sais
pas, peut être un rapport avec le code en amont ?
Pour ce qui me concerne, quand j'ai un problème de ce genre et que je ne
trouve pas, je balance un Double et c'est réglé, avec la RAM actuelle on
n'est pas à une variable près, même pas à cent d'ailleurs, et peut être
qu'après tu comprendras pourquoi... Y a par exemple la possibilité il me
semble, sous un nom savant, de forcer un type de variable en un autre,
n'est-ce pas un truc de ce genre...
Désolé, peut être qu'un savant en variables va répondre ?
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.
"Christian Hubert-Hugoud / weabow - Xtrem7" le message de news:
Je n'ai pas la réponse mais je me demande ce que ça donnerait en
déclarant la variable en Double.
Est-ce qu'on trouve quelque chose en cherchant "types de données sous
Vista" ?
________________________________________________________________________
Christian Hubert-Hugoud / weabow - Xtrem7 a écrit, le 23/09/2009 09:56 :
Dans le deuxième exemple la solution
Si on exécute le code ci-dessous il y aura une erreur et pourtant il n'y a
pas de dépassement de capacité.
Sub Brol
Dim Mt as double
Dim X as Integer
Dim Y as Integer
X = 133
Y = 247
Mt = X * Y 'Dépassement de capacité !!? 133 * 247 = 32851 on utilise un
double
End Sub
Solution
Sub SolutionBrol 'En utilisant des "Singles"
Dim X as Single
Dim Y as Single
Dim Mt as Double
X = 133
Y = 247
Mt = X * Y ' OK
End Sub
Les opérantes doivent être déclarées en "Single"
Cordialement
elziphir
"Christian Hubert-Hugoud / weabow - Xtrem" wrote: