Bonjour,
J’ai un problème pour définir des events listener, mais en fait je me rends compte que celui-ci vient de la définition de variables globales, et se produit de la même manière avec de simples variables string… Retour à la base donc ! Voici un code Basic hyper… basique justement :
Global x As String
Global y As String
Sub Test1
x="a"
y="b"
End Sub
Sub Test2
Msgbox x
Msgbox y
End Sub
Si j’exécute Test1 puis Test2, pas de problème, deux msgbox s’affichent consécutivement avec les valeurs “a” et “b” respectivement. Je peux réexécuter la fonction Test2 autant de fois que je veux, tout va bien. Par contre si je commente la ligne ‘Msgbox y’ et que je réexécute Test2, x n’est plus défini ! Je dois alors exécuter Test1 puis Test2 pour afficher la valeur “a”, et si je décommente la ligne commentée, rebelote : ni x ni y ne sont définis.
Quelqu’un pourrait-il m’expliquer cette sorcellerie ?
EDIT : en fait c’est encore même plus simple : avec une seule variable la même chose se produit si je rajoute une ligne vide. Est-ce que la valeur affectée à une variable globale n’est accessible qu’aux procédures et fonctions existant déjà au moment de l’affectation ?