J'aimerais savoir comment déclarrer une variable globale pour l'utiliser dans toutes les pages?
Merci d'avance.
Silvia
Version imprimable
J'aimerais savoir comment déclarrer une variable globale pour l'utiliser dans toutes les pages?
Merci d'avance.
Silvia
Tu peux créer un module et tu déclare ta variable de la manière suivante :
Je ne sais pas ce que tu veux faire avec ta variable globale mais il faut que tu saches que ce n'est pas très propre en générale.Citation:
Public maVariable As Integer
Tu peux toujours trouver une autre solution comme par exemple en la passant en paramètres de tes fonctions qui l'utilise ....
Indique nous ce que tu veux faire pour qu'on change ca peut-être ?? :)
J'aimerais déclarrer une variable dans ma premiere page (Accueil) et pouvoir utiliser le contenu de la variable dans les autres pages.
Je sais que en C#, on utilise :
Mais, cela ne marche pas en VB.Code:
1
2 static public string ChaineBD
Silvia
Le fait de la déclarer ta variable en static fait qu'elle est globale à tous les objets de la même classe mais pas à tous les objets de ton projet.
L'équivalent en VB.NET c'estJe m'explique un peu mieux (du moins j'essaie). Tu me dis que tu as une page d'accueil puis d'autres pages. J'en déduis que tu as défini plusieurs classes (une par type de page).Code:Public Shared ChaineBD as String
Donc le fait de rendre ta variable static ne te sert à rien puisque tes pages n'instancient pas la même classe et ta variable ne sera visible que par les pages de la classe où tu l'as déclarée.
Cependant ton problème a une solution toute simple. Tu déclares ta variable (en mode privé de préférence) normalement dans la classe de ta page d'acceuil. Puis tu crées une propriété
(publique cette fois ci) permet de consulter ta variable : soit en lecture seule ou en lecture écriture selon ce que tu souhaites faire. Puis tu redéfinis les contructeurs des toutes tes autres
classes en ajoutant un paramètre qui est ta page d'accueil. Et ton problème est résolu.
C'est peut-être pas très claire alors je te mets un morceau de code :
Je te garantie pas que le code est sans erreur car je l'ai taper directement dans le message donc .......... C'est toujours une trame. :)Code:
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
30
31
32
33
34
35
36
37
38
39 Class PageAccueil ' Ici c'est le code généré par le concepteur de VB. // Ta variable que tu souhaites globale. Private _maVariableGlobale As String // Propriété permettant d'accéder à ta variable. Public Property maVariableGlobale () As String Get Return _maVariableGlobale End Get Set (ByVal Value As String) _maVariableGlobale = Value End Set End Property Public Sub OuvertureAutrePage() // Appel du constructeur redéfini. Dim maPage As New AutrePage(Me) maPage.Show() End Sub End Class Class AutrePage ' Ici c'est le code généré par le concepteur de VB. Private _pageAccueil As PageAccueil // Rédéfinission du constructeur. Public Sub New(ByRef accueil As PageAccueil) Me.New _pageAccueil = accueil End Sub Public Sub utilisationVariableGlobale() MessageBox.Show(_pageAccueil.maVariableGlobale) End Sub End Class