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

IHM Discussion :

option explicit vs variables globales ou comment éviter les variables globales dans une appli ?


Sujet :

IHM

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 681
    Points : 214
    Points
    214
    Par défaut option explicit vs variables globales ou comment éviter les variables globales dans une appli ?
    Bonjour le forum,

    Dans une discussion précédente, un de ceux qui ont répondu m'a incité à utiliser l'option explicit plutôt qu'un dim global.
    Mais cette option ne vaut que pour le module qui la contient.
    Si une des variables de ce module est utilisée dans d'autres modules de l'Appli, ça ne fonctionne pas bien, la variable aura perdu sa valeur en passant dans un autre module.

    D'un autre côté on insiste sur le fait que les var globales occupent de la place dans la sauvegarde, ce qui est exact.

    Alors comment éviter ces var globales dans un appli qui a plusieurs modules ?

    J'avoue que j'ai du mal à bien comprendre dans ce domaine, mais je suppose qu'il existe au moins une solution.
    Je pense en particulier à l'utilisation d'arguments, qui permettent de passer des variables, lots de l'appel d'une procédure d'un autre module, méthode que j'ai déjà souvent employé.

    Merci de votre aide.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Option Explicit n'est pas relié spécifiquement aux variables globales, cela te force (ce qui est une bonne chose) à déclarer tes variables avant de les utiliser, cela te protège contre les fautes d'orthographe dans le nom.

    Dans l'absolu, il est préférable de ne pas utiliser de variables globales, car justement elles sont globales et donc peuvent être modifiées n'importe où dans le code.
    La place prise est assez minime pour qu'on ai pas trop à s'en préoccuper.

    Si tu peux tu préféreras passer tes valeurs de manière explicite via des paramètres.

    Bon parfois on ne peut pas mais voici des alternatives à considérer :

    1. Table de paramètre
      Pour simplifier la maintenance il est recommandé de faire des procédures ou des fonctions dédiées à la manipulation de cette table.
      Une truc du genre
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      MAJParam(prm_nom_param as string, prm_valeur_param as variant)
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      LireParam(prm_nom_param as string) as variant
      Et d'utiliser cette procédure et cette fonction pour accéder aux paramètre.
      Cela centralise les accès et facilite la maintenance.
    2. Collection TempVar
      Les TempVar sont des sortes de super variables gloables qui gardent leur valeur tant que ta BD est ouverte.
      Cela évite les défauts des variables globales qui peuvent être réinitialisées lorsque survient une erreur.
      https://docs.microsoft.com/en-us/off...access.tempvar


    Note que pour par exemple un code d'utilisateur en cours, les variables globales sont acceptable car en fait c'est presque une constante : tu la définis au moment de l'ouverture et tu ne fais que la réutiliser plus tard.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. Réponses: 14
    Dernier message: 16/09/2011, 00h38
  2. Réponses: 4
    Dernier message: 18/07/2007, 10h08
  3. Comment éviter les pages blanches dans un état?
    Par Noline dans le forum Access
    Réponses: 2
    Dernier message: 31/07/2006, 16h30
  4. [Stratégie] Comment on met un démon dans une appli j2ee ?
    Par nico2280 dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 23/11/2005, 17h11
  5. Comment gérer les valeur Nulles dans une requête ?
    Par sondo dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/03/2005, 11h02

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