Bonjour à tous !
voilà, je teste actuellement les typages "private" et "public" sur des variables dans deux fichiers vbscript. En effet d'apres la doc Windows Script 5.6 on peut lire que "Les variables avec l'instruction Public sont accessibles dans toutes les procédures de tous les scripts." et "Les variables Private sont accessibles uniquement dans le script où elles ont été déclarées."
je souhaite tester l'intéret d'une variable private, aussi j'ai créé 2 scripts :
1 variable publique et une privée, déclarées et affectées dans test2.vbs
test1.vbs, qui lance test2.vbs, et ensuite appelle 2 de ses fonctions publiques (une qui fait une multiplication de deux variables et l'autre les divise; test2.vbs affiche les deux résultats)
test1.vbs m'affiche l'erreur "type incompatible" à l'apple de la fonction multiplication
Et si j'arrive à afficher quand même les deux variables dans test1.vbs celles ci sont vides ! la variable publique ne devrait elle pas être affectée ??
merci de votre aide
ps: voici le code des 2 scripts :
test1.vbs
test2.vbs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Const bWaitOnReturn = true Dim VBSshell Set VBSshell = Wscript.CreateObject("WScript.Shell") VBSshell.run "c:\scripts\test2.vbs",bWaitOnReturn Call Multiplication() wscript.echo "Le résultat de la division est : " _ & variable_public & " / " & variable_privee _ & " = " Call Division() If variable_public <> Empty Then wscript.echo "la valeur de la variable public est " & variable_public Else wscript.echo "la variable publique a une valeur vide" & variable_public End If If variable_privee <> Empty Then wscript.echo "la valeur de la variable privée est " & variable_privee Else wscript.echo "la variable privée a une valeur vide" End If 'set VBSshell = nothing
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 public Function Multiplication Public variable_public Private variable_privee ' Affectation des variables variable_public = 10 variable_privee = 6 ' Variable déclarée dans la portée locale d'une fonction. Dim resultat resultat = variable_public * variable_privee wscript.echo "Le résultat de la multiplication est : " _ & variable_public & " * " & variable_privee _ & " = " wscript.echo resultat End Function Public Function Division ' Variable déclarée dans la portée locale d'une fonction. Dim resultat ' Réaffectation de variables dans la portée locale d'une fonction. variable_public = 12 variable_privee = 4 resultat = variable_public / variable_privee wscript.echo resultat End Function
Partager