Variable globale en VB.NET

SupraDolph Messages postés 196 Date d'inscription samedi 12 janvier 2002 Statut Membre Dernière intervention 1 septembre 2008 - 26 févr. 2004 à 20:11
cs_BFR Messages postés 88 Date d'inscription mardi 30 juillet 2002 Statut Membre Dernière intervention 1 mars 2008 - 26 févr. 2004 à 23:24
Je programme en vb.net.
lorsque je déclare une variable globale, et que la compilateur passe d'une forme a un module (ou une classe), la varable est réinitialisée :

exemple dans un module je tape le code suivant :
public Var as Integer

public function test()

end function

dans une forme je tape le code suivant :

Private Sub Form1_Load(...
Var = 1
call test()
msgbox(Var)
end sub

la msgbox affiche 0 !?! Bien que la variable n'a pas été modifiée dans le module.

si qqn pouvai me dire comment conserver la variable sa serai super super sympa !

SupraDolph.

1 réponse

cs_BFR Messages postés 88 Date d'inscription mardi 30 juillet 2002 Statut Membre Dernière intervention 1 mars 2008
26 févr. 2004 à 23:24
Salut
Il est possible que ta variable ne soit pas bien déclarer pour sa portée
ci-joint ce que dit msdn

AccessibilitéVoir aussi
Noms d'éléments déclarés | Référence d'élément déclaré | Caractéristiques d'éléments déclarés | Durée de vie | Portée | Variables | Déclaration des variables | Dim, instruction | Public | Protected | Friend | Private | Static
L'accessibilité d'un élément déclaré est la capacité à l'utiliser, en d'autres termes l'autorisation, pour le code, de lire l'élément ou d'y écrire. L'accessibilité est déterminée d'une part par la façon dont vous déclarez l'élément lui-même et d'autre part, par l'accessibilité du conteneur de cet élément. Si l'élément conteneur n'est pas accessible, aucun des éléments qu'il contient ne le sera, même ceux déclarés Public. Par exemple, une variable Public dans une structure Private est accessible à l'intérieur de la classe contenant la structure mais non à l'extérieur de celle-ci.

Public
Le mot clé Public de l'instruction Dim déclare les éléments accessibles partout à l'intérieur d'un projet, dans d'autres projets qui font référence à ce projet et dans un assembly généré à partir de ce projet. Le code suivant donne un exemple de déclaration Public :

Public Class ClassForEverybody
Vous pouvez utiliser le mot clé Public seulement au niveau du module, de l'espace de noms ou du fichier. En d'autres termes, vous pouvez déclarer un élément public dans un fichier source ou à l'intérieur d'un module, d'une classe ou d'une structure mais pas dans une procédure.

Protected
Le mot clé Protected de l'instruction Dim déclare les éléments accessibles uniquement à l'intérieur d'une même classe ou d'une classe dérivée de celle-ci. Le code suivant donne un exemple de déclaration Protected :

Protected Class ClassForMyHeirs
Vous ne pouvez utiliser Protected qu'au niveau d'une classe et uniquement lorsque vous déclarez un membre d'une classe.

Friend
Le mot clé Friend de la déclaration Dim déclare les éléments accessibles au sein d'un même projet mais pas à l'extérieur de celui-ci. Le code suivant donne un exemple de déclaration Friend :

Friend StringForThisProject As String
Il n'est possible d'utiliser Friend qu'au niveau d'un module, d'un espace de noms ou d'un fichier. En d'autres termes, vous pouvez déclarer un élément friend dans un fichier source ou à l'intérieur d'un module, d'une classe ou d'une structure mais pas dans une procédure.

Protected Friend
L'association des mots clés Protected et Friend dans l'instruction Dim déclare les éléments accessibles dans des classes dérivées, au sein du même projet ou dans les deux. Le code suivant donne un exemple de déclaration Protected Friend :

Protected Friend StringForProjectAndHeirs As String
Vous ne pouvez utiliser Protected Friend qu'au niveau d'une classe et uniquement lorsque vous déclarez un membre d'une classe.

Private
Le mot clé Private de l'instruction Dim déclare les éléments accessibles uniquement au sein du même module, de la même classe ou structure. Le code suivant donne un exemple de déclaration Private :

Private NumberForMeOnly As Integer
Il n'est possible d'utiliser Private qu'au niveau d'un module, d'un espace de noms ou d'un fichier. En d'autres termes, vous pouvez déclarer un élément private dans un fichier source ou à l'intérieur d'un module, d'une classe ou d'une structure mais pas dans une procédure.

Remarque Au niveau du module, l'instruction Dim utilisée sans mot clé d'accessibilité équivaut à une déclaration Private. Toutefois, il peut s'avérer utile d'utiliser le mot clé Private afin que votre code soit plus facile à lire et à interpréter

en espérant que cela te sera utile
A++ BFR
0
Rejoignez-nous