Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Function VB6 avec ByRef ou ByVal

3 réponses
Avatar
michel.arnoux
Bonjour,

J'ai d=E9fini une fonction sous VB6
Je lance l'application
Je re=E7ois " erreur de compilation Type d'argument ByRef incompatible"

les param=EAtres sont d=E9finis dans l'ordre de la m=EAme fa=E7on (string,
long, ..)
Que se passe t'il ?
Comment introduire ByVal pour ces param=EAtres ?

Merci
Bonne soir=E9e
Michel Arnoux

3 réponses

Avatar
Driss HANIB
Bonjour michel,

je ne suis pas spécialiste mais pour ma part cela arrive :
regarde bien sur quel type de valeur cela t'indique l'erreur.
Si c'est sur une valeur de type long, vérifie bien que la variable que tu
"envoies" à la procédure est bien de type long et non pas de type integer.
Cela m'arrive car au début je mettais des variables de type integer dans
certaines focntion et je les appelle maintenant en mettant de variables de
type long..


Driss
a écrit dans le message de news:

Bonjour,

J'ai défini une fonction sous VB6
Je lance l'application
Je reçois " erreur de compilation Type d'argument ByRef incompatible"

les paramêtres sont définis dans l'ordre de la même façon (string,
long, ..)
Que se passe t'il ?
Comment introduire ByVal pour ces paramêtres ?

Merci
Bonne soirée
Michel Arnoux
Avatar
Christian Hubert-Hugoud / weabow - Xtrem7
Un exemple de ton code serait aidant


a écrit dans le message de
news:
Bonjour,

J'ai défini une fonction sous VB6
Je lance l'application
Je reçois " erreur de compilation Type d'argument ByRef incompatible"

les paramêtres sont définis dans l'ordre de la même façon (string,
long, ..)
Que se passe t'il ?
Comment introduire ByVal pour ces paramêtres ?

Merci
Bonne soirée
Michel Arnoux
Avatar
lolo406
Le modele pour une fonction est :
1) private function NomFonction( argument1 as type1,argument as type2) as
type3
les arguments sont par defaut passés en ByRef:
2) private function NomFonction( byref argument1 as type1,byref argument as
type2) as type3

Les exemples 1) et 2) sont equivalents
Pour changer en byval, tapez :
private function NomFonction( byval argument1 as type1,byval argument as
type2) as type3