ta variable X est déclarée uniquement dans form_load
en entête de ta form ecrit option explicit et tu verras de suite l'erreur à la compilation, dans la sub test il va te dire variable inconnue.
Christophe
NTH a écrit :
Bonsoir J'ai une question très bête mais je ne comprends pas pourquoi... pourtant je ne suis pas débutant en vb... Voici :
Sub Test(ByRef x As String) x = "XXX" End Sub
Private Sub Form_Load() Dim x As String x = "ABC" Test(x) MsgBox (x) Ens Sub
Ca m'écrit "ABC" pourtant je croyais que ça devait écrire XXX ? Bizarre non? mon système est corrompu ou quoi?
Merci
Jean-Marc
"TTT" a écrit dans le message de news:4165935a$0$286$
quelle différence entre : test x et test(x) ?
Hello,
voila j'ai retrouvé dans la doc: Remarks
You are not required to use the Call keyword when calling a procedure. However, if you use the Call keyword to call a procedure that requires arguments, argumentlist must be enclosed in parentheses. If you omit the Call keyword, you also must omit the parentheses around argumentlist.
et la référence complète est: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbenlr98/html/vastmCall.asp
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."
"TTT" <nospam@raslebol.fr> a écrit dans le message de
news:4165935a$0$286$626a14ce@news.free.fr...
quelle différence entre :
test x
et
test(x)
?
Hello,
voila j'ai retrouvé dans la doc:
Remarks
You are not required to use the Call keyword when calling a procedure.
However, if you use the Call keyword to call a procedure that requires
arguments, argumentlist must be enclosed in parentheses. If you omit the
Call keyword, you also must omit the parentheses around argumentlist.
et la référence complète est:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbenlr98/html/vastmCall.asp
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
"TTT" a écrit dans le message de news:4165935a$0$286$
quelle différence entre : test x et test(x) ?
Hello,
voila j'ai retrouvé dans la doc: Remarks
You are not required to use the Call keyword when calling a procedure. However, if you use the Call keyword to call a procedure that requires arguments, argumentlist must be enclosed in parentheses. If you omit the Call keyword, you also must omit the parentheses around argumentlist.
et la référence complète est: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbenlr98/html/vastmCall.asp
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."
TTT
> You are not required to use the Call keyword when calling a procedure. However, if you use the Call keyword to call a procedure that requires arguments, argumentlist must be enclosed in parentheses. If you omit the Call keyword, you also must omit the parentheses around argumentlist.
Et à quel moment ils disent : Si call est ignoré (comme par ex test(x)) alors si x est passée par référence alors x n'est pas modifiée?
> You are not required to use the Call keyword when calling a procedure.
However, if you use the Call keyword to call a procedure that requires
arguments, argumentlist must be enclosed in parentheses. If you omit the
Call keyword, you also must omit the parentheses around argumentlist.
> You are not required to use the Call keyword when calling a procedure. However, if you use the Call keyword to call a procedure that requires arguments, argumentlist must be enclosed in parentheses. If you omit the Call keyword, you also must omit the parentheses around argumentlist.
Et à quel moment ils disent : Si call est ignoré (comme par ex test(x)) alors si x est passée par référence alors x n'est pas modifiée?
TTT
désolé mais il n'y a pas d'explication satisfaisante pour le moment... en plus si j'exécute le même code en visual studio .net le x est bien modifiée :
Autrement dit :
Sub Test(ByRef x As String) x = "XXX" End Sub
Private Sub Form_Load() Dim x As String x = "ABC" Test(x) MsgBox (x) Ens Sub
Sous VS6 ça m'affiche ABC et sous VS.NET 2003 ça m'affiche XXX
je ne comprends plus rien, c'est mon VS6 qui est mal installé ou corrompu?
désolé mais il n'y a pas d'explication satisfaisante pour le moment...
en plus
si j'exécute le même code en visual studio .net le x est bien modifiée :
Autrement dit :
Sub Test(ByRef x As String)
x = "XXX"
End Sub
Private Sub Form_Load()
Dim x As String
x = "ABC"
Test(x)
MsgBox (x)
Ens Sub
Sous VS6 ça m'affiche ABC
et sous VS.NET 2003 ça m'affiche XXX
je ne comprends plus rien, c'est mon VS6 qui est mal installé ou corrompu?
désolé mais il n'y a pas d'explication satisfaisante pour le moment... en plus si j'exécute le même code en visual studio .net le x est bien modifiée :
Autrement dit :
Sub Test(ByRef x As String) x = "XXX" End Sub
Private Sub Form_Load() Dim x As String x = "ABC" Test(x) MsgBox (x) Ens Sub
Sous VS6 ça m'affiche ABC et sous VS.NET 2003 ça m'affiche XXX
je ne comprends plus rien, c'est mon VS6 qui est mal installé ou corrompu?
Jean-Marc
"christophe-pasde<> @wanadoo.fr>" <"christophe-pasde<> a écrit dans le message de news:4165967e$0$17758$
Bon ça arrive de dire des conneries de temps en temps et à tout le monde.
Je ne pense pas méconnaître gravement VB ( ni quelques autres langages, le et tout les autres me parait présomptueux), mais être étourdi et un peu fatigué.
Christophe.
Oui, j'ai aussi eu une journée fatigante... Désolé!
Amicalement,
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."
"christophe-pasde<> @wanadoo.fr>" <"christophe-pasde<> a écrit dans le
message de news:4165967e$0$17758$8fcfb975@news.wanadoo.fr...
Bon ça arrive de dire des conneries de temps en temps et à tout le monde.
Je ne pense pas méconnaître gravement VB ( ni quelques autres langages,
le et tout les autres me parait présomptueux), mais être étourdi et un
peu fatigué.
Christophe.
Oui, j'ai aussi eu une journée fatigante... Désolé!
Amicalement,
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
"christophe-pasde<> @wanadoo.fr>" <"christophe-pasde<> a écrit dans le message de news:4165967e$0$17758$
Bon ça arrive de dire des conneries de temps en temps et à tout le monde.
Je ne pense pas méconnaître gravement VB ( ni quelques autres langages, le et tout les autres me parait présomptueux), mais être étourdi et un peu fatigué.
Christophe.
Oui, j'ai aussi eu une journée fatigante... Désolé!
Amicalement,
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."