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

C++ Discussion :

Une TString globale


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 60
    Points : 41
    Points
    41
    Par défaut Une TString globale
    Bonjour à tous,

    Sous BCB C++, Est-il possible de définit une TString en variable globale, c'est-à-dire qui soit vue par tous les fichiers d'un projet. Le but étant par exemple de pouvoir générer un fichier d'événement et dès qu'il y a un événement dans l'un des fichiers, celui-ci est répertorié dans cette TString (puis affichage, sauvegarde...). Il s'agit un peu de faire comme la fenêtre du log event de BCB, là où on voit les erreurs lors de la compilation...

    Merci pour votre aide.

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Dans l'absolu oui tu peux déclarer une variable globale de n'importe quel type.

    Toutefois, il faut se méfier d'un piège avec les variable globales, tu ne sais pas dans quel ordre le loader de ton programme va instancier (appeler les constructeurs) de tes variables globales.

    Tu risque donc de te retrouver à utiliser une variable globale pas encore initialisée et là, c'est le drame, cela part en cacahuetes et en plus, c'est pénible à comprendre la cause.

    Ce que je fais pour ces variables globables, c'est un accesseur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    TString & accesseur_TStringGlobal(void)
    {
    static TString ma_variable_globale;
       return ma_variable_globale;
    }
    Avec ce code, tu es sûr que ta variable globale est instanciée lorsque tu vas l'utiliser au travers de l'appel à accesseur_TStringGlobal()
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 60
    Points : 41
    Points
    41
    Par défaut
    Merci. Votre fonction doit être déclarée dans toutes les fiches, je suppose ??

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par a_lincoln54 Voir le message
    Merci. Votre fonction doit être déclarée dans toutes les fiches, je suppose ??
    Je suppose que fiche = fichiers

    Cette fonction doit effectivement être déclarée dans un fichier .h (global.h par exemple).
    Cette fonction doit être ensuite définie dans un fichier .cpp (global.cpp par exemple)

    Ensuite tout module qui utilise cette fonction doit inclure le fichier "global.h"
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

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

Discussions similaires

  1. [quai debutant] : creation d'une variable globale.
    Par bapman344 dans le forum Access
    Réponses: 4
    Dernier message: 23/06/2005, 11h33
  2. Réponses: 5
    Dernier message: 25/05/2005, 22h29
  3. Comment déclarer une variable globale
    Par davkick dans le forum C
    Réponses: 13
    Dernier message: 20/05/2005, 18h50
  4. [débutant][CSS]définir une police et une taille global
    Par virgul dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 28/04/2005, 09h32
  5. utilisation d'une variable globale
    Par ZZ dans le forum ASP
    Réponses: 3
    Dernier message: 03/12/2003, 19h11

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