Accès variables d'un autre formulaire sans taper -> nomDeForm.maVar [Résolu]

Signaler
Messages postés
57
Date d'inscription
dimanche 24 février 2008
Statut
Membre
Dernière intervention
4 septembre 2011
-
Messages postés
57
Date d'inscription
dimanche 24 février 2008
Statut
Membre
Dernière intervention
4 septembre 2011
-
Bonjour.
J'imagine bien que cette question va en énerver plus d'un, mais je ne trouve pas la réponse. En fait je ne sais même pas si c'est possible.

En gros, je veux accéder à une variable qui se trouve sur un autre formulaire.
Imaginons "Form1" et "Form2", et une variable "maVar" contenue dans "Form2".

J'arrive à y accéder en tapant ceci dans "Form1":
"Form2.maVar = ...."

Oki, ça fonctionne, mais je pensais pourtant qu'en déclarant, dans "Form1", ma variable en Public, elle était accessible partout dans mon programme et que je n'avais pas besoin de spécifier le nom du formulaire !
Apparemment non.

2 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut
Non, Public signifie qu'elle sera visible dans la liste qui apparaitra quand tu taperas Form2.
C'est normal, une Form n'est pas forcemment chargée/visible : Qu'adviendrait-il si une ligne de programme tentait d'y accéder alors qu'il n'existe pas ? (logique, non ?)

Si une variable doit être accessible depuis tout le code, il faut la placer dans un Module, en Public bien sûr. Dans ce cas, il est inutile de préciser le nom du Module devant la variable.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
57
Date d'inscription
dimanche 24 février 2008
Statut
Membre
Dernière intervention
4 septembre 2011

Qu'adviendrait-il si une ligne de programme tentait d'y accéder alors qu'il n'existe pas ? (logique, non ?)

Oui c'est sûr que c'est tout à fait logique.

Effectivement, pour le cas du module, j'avais remarqué que la variable était visible sans renseigner le nom module avant. Du coup, je pensais que c'était pareil partout.
Merci beaucoup pour cette petite précision jack