IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Plusieurs modules, portée des variables


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 101
    Points : 74
    Points
    74
    Par défaut Plusieurs modules, portée des variables
    Bonsoir,
    Dans un projet, j'ai plusieurs modules et plusieurs form.
    Pour appeler la procédure A du module 1, je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    call module1.procedureA
    Si la procédure A n'est pas déclarée comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    public sub procedureA()
    ...
    ça ne marche pas.
    Vient alors le problème de la portée des variables. Une variable déclarée dans une procédure déclarée public est-elle aussi publique? Je pose la question car après avoir déclaré deux variables de même type et de même nom dans deux procédures publiques différentes j'ai eu un message d'erreur "Déclaration existante dans la portée en cours".
    J'ai pas trouvé la réponse dans les tutoriels mais ceci dit quelque chose m'a peut-être échappé.
    Merci.

  2. #2
    Membre actif Avatar de Jihnn
    Inscrit en
    Décembre 2005
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 330
    Points : 273
    Points
    273
    Par défaut
    Les variables déclarées Public sont accessibles via tout le projet. Celles déclarés Private / Dim en dehors d'une procédure ne sont accessibles que dans le module et celles déclarées Dim / Static à l'intérieur d'une procédure ne sont accessibles que dans cette procédure.

    Donc cette exemple est fonctionnel :

    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
    Private Sub Command1_Click()
     Dim i As Byte
     
     For i = 0 to 1
      Call Toto
     Next i
    End Sub
     
    Private Sub Toto()
     Dim i As Byte
     
     For i = 0 to 1
      Debug.Print i
     Next i
    End Sub
    Donc tu peux déclaré des variables de mêmes noms dans des procédures différentes en autant qu'elles sont déclarées à l'aide des mots clé Dim ou Static.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 101
    Points : 74
    Points
    74
    Par défaut
    donc si je te comprends bien peu importe que la procédure soit public ou private, c'est ça?

  4. #4
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Tout à fait. Une variable déclarée à l'intérieur d'une procédure (ou d'une fonction) n'est visible (et utilisable) que par cette procédure (ou fonction).

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 101
    Points : 74
    Points
    74
    Par défaut
    Super! Merci à vous deux pour cette précision.
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 17/02/2005, 09h05
  2. [FLASH MX] Portée des variables ???
    Par mic79 dans le forum Flash
    Réponses: 2
    Dernier message: 08/02/2005, 10h21
  3. Portée des variables vbscript vers ASP
    Par Immobilis dans le forum ASP
    Réponses: 3
    Dernier message: 03/11/2004, 10h14
  4. [XSL]Problème de portée des variables
    Par djulesp dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 17/09/2004, 10h34
  5. [Portée] portée des variables
    Par parksto dans le forum Langage
    Réponses: 7
    Dernier message: 09/05/2004, 21h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo