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

MFC Discussion :

Utilisation et Declaration Variable globale


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 58
    Par défaut Utilisation et Declaration Variable globale
    Bonjour, j'ai trouve cela dans le faq quand a l'utilisation de variables globales.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CMyApp *pApp=static_cast<CMyApp *>(AfxGetApp());
    pApp->m_Global.MyFunction();     //exemple de fonction globale 
    CListCtrm &rList=pApp->m_Global.GetLisCtrl(); // variable globale.
    Pouvez vous m'expliquer comment cela marche?? Ce que je veux faire moi, c'est de recuperer la valeur que je rentre dans une EditBox par exemple et pouvoir la reutiliser dans n'importe quelle endroit de mon programme et n'iñporte quel fichier c++ de mon projet.

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    hé bien ça me semble clair non ?
    AfxGetApp() renvoie un pointeur sur la classe d'application héritée de CWinApp
    d'ou le cast sur la classe d'application du programme.
    aprés on dispose de toutes les méthodes getter ou setter de la classe d'application , et ce quelque soit le source de l'application.

  3. #3
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 58
    Par défaut
    Farscape, j'ai pas compris.Non moi pas compremdre. Considerons que ce aue je crois est ma classe application s'apelle CPsyscapApp et que je veux recuperer la valeur que je rentre dans mon editbox de la classe CSolararray. Le code doit ressembler a quoi et je dois le mettre ou?

  4. #4
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 51
    Par défaut
    Farscape,

    C'est vrai ... rien à redire ... Je ne suis qu'un jeune padawan Fougueux !!

  5. #5
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 51
    Par défaut
    Salut,

    tu peux déclarer dans le Myapp.h la macro suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define APP	((CMyApp *)AfxGetApp())
    tu inclus ce .h dans tous les sources ou tu auras besoin d'accéder à ta variable.

    Dans la classe MyApp.h tu déclares ta variable
    par ex : Puis dans le source où tu veux accéder à cette variable, pour lui affecter une valeur par ex :
    ++
    Fred

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    pour zol :
    en c++ on privilégie static_cast<> plutôt que le cast "sauvage" du C.
    de même que l'accés à une variable d'une classe doit être encadré, l'idiome getter/setter est préférable à un accès direct...


  7. #7
    Membre éclairé Avatar de torNAdE
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 255
    Par défaut
    Citation Envoyé par skywaltitou Voir le message
    Bonjour, j'ai trouve cela dans le faq quand a l'utilisation de variables globales.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CMyApp *pApp=static_cast<CMyApp *>(AfxGetApp());
    pApp->m_Global.MyFunction();     //exemple de fonction globale 
    CListCtrm &rList=pApp->m_Global.GetLisCtrl(); // variable globale.
    Pouvez vous m'expliquer comment cela marche?? Ce que je veux faire moi, c'est de recuperer la valeur que je rentre dans une EditBox par exemple et pouvoir la reutiliser dans n'importe quelle endroit de mon programme et n'iñporte quel fichier c++ de mon projet.

    Bon moi j ai le meme prob et encore plus pire j ai presque 53 variables globales.
    Alors juste, dans quelle Partie doit je ecrire ce bout de code.

  8. #8
    Membre éclairé Avatar de torNAdE
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 255
    Par défaut
    bon je m'explique encore; supposons que j ai un prog dont la classe App est
    CAutoApp.
    est ce que je copie le code cans CAutoApp.cpp ou non??

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

Discussions similaires

  1. Declaration variable globale
    Par abbd dans le forum C++/CLI
    Réponses: 5
    Dernier message: 19/07/2007, 20h02
  2. declaration variable global
    Par zerocoolyoussef dans le forum ASP.NET
    Réponses: 1
    Dernier message: 09/06/2007, 11h53
  3. utilisation d'une variable global
    Par poula dans le forum Forms
    Réponses: 1
    Dernier message: 06/01/2007, 03h14
  4. Supprimer la mémoire utilisée par les variables globales
    Par dnaprotector dans le forum OpenGL
    Réponses: 4
    Dernier message: 21/07/2005, 13h18
  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