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 :

Variable globale


Sujet :

MFC

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Par défaut Variable globale
    Alors,

    Je suis sous Visual C++ 6.0 et j'utilise les MFC dans un projet SDI.

    Mon problème :
    Le dialogue principale, hérité de CFormView, ouvre lors d'un clic sur un bouton un dialogue, hérité de CDialog,CMyDialog.

    Les contrôles( 2 boutons et un champs texte statique) de ce dialogue doivent être initialisés par des valeurs d'une autre classe et lors d'un clqiue sur un des 2 boutons les valeurs des attributs de cette classe doivent être mis à jour.

    Alors j'ai essayé en créant un constructeur CMyDialog et en envoyant des pointeurs sur les attributs à mettre à jour et à afficher
    ==>Ca n'a pas marché.

    Après j'ai créé des variables globales me permettant d'accéder à ces valeurs où que ce soit dans le répertoire Globals de Class View
    ==>Les variables ne sont pas détéctées dans les fonctions membres des classe

    SVP Quelqu'un pourrait me sauver?

  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,
    ce post de la faq devrait t'eclairer si j'ai bien compris ton probleme...
    http://c.developpez.com/faq/vc/?page...angeDialogData


  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Par défaut
    Citation Envoyé par farscape
    salut,
    ce post de la faq devrait t'eclairer si j'ai bien compris ton probleme...
    http://c.developpez.com/faq/vc/?page...angeDialogData

    Promis j'avais regarder la FAQ,j'ai du zapper ça

    Bon je vais essayer et je croise les doigts. j'ai bon espoir.

    Merci

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Par défaut
    C'est bon ça à l'air de bien marcher.
    Merci beaucoup.

    Pendant que j'y suis et pour avoir un rapport avec l'intitulé du sujet (je pourrai ainsi mettre résolu):

    Mes variables déclarées dans le répertoire globals ne sont pas identifiées dans les fonctions membres des autres classes.
    Comment faire?

  5. #5
    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
    Citation Envoyé par gigigao
    C'est bon ça à l'air de bien marcher.
    Merci beaucoup.

    Pendant que j'y suis et pour avoir un rapport avec l'intitulé du sujet (je pourrai ainsi mettre résolu):

    Mes variables déclarées dans le répertoire globals ne sont pas identifiées dans les fonctions membres des autres classes.
    Comment faire?
    re,
    je ne suis pas bien sur de comprendre ton enoncé ...
    quel repertoire global ? (ça veut dire quoi ?) .
    une variable globale dans un projet est visible sur l'ensemble du projet
    elle doit etre déclarée une fois et dans les autres sources elle doit etre delcarée extern.
    mais bon l'utilisation de variables globales est deconseillée en C++ ,c'est dangereux dans un context graphique evenementiel et revelateur d'une mauvaise architecture en C++..


  6. #6
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Par défaut
    Je suis bien d'accord que c'est pas très jojo une variable globale mais j'étais perdu et j'ai emprunté le mauvais chemin

    Grâce à ton info, je m'en passe maintenant mais au cas où, je voulais savoir.

    Dans Class View, il y a un répertoire globals. Peut être est ce une erreur mais j'en ai déduit que c'est là qu'on déclarait les variables globales.
    Seulement les variables déclarées dans ce répertoire ne sont pas identifiés dans les autres sources.
    En même temps je ne les ai pas déclarées comme extern dans ceux-ci!!

  7. #7
    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
    ah ok tu parles du classview ...
    ce qui est apparait dans le repertoire global du classview c'est effectivement les variables declarées globales.
    mais c'est juste une representation , ci celles ci ne sont pas declarées extern dans le(s) source(s) concerne(s) tu n'y auras pas acces ...

  8. #8
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Par défaut
    ok Merci.
    Mais promis j'évite de les utiliser

    Par contre concernant la réponse que tu m'as donné donné tout à l'heure j'ai un souci.
    C'est la première fois que j'utilise ces fonctions donc c'est peut être très bête.

    d'un coté :

    dans le formulaire hérité de CFormView
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CMyDialog* vu = new CMyDialog(this);
     
    vu->Create(IDD_EVENT,NULL);
     
    vu->ShowWindow(SW_SHOW);

    dans l'initdialog du dialog créé hérité de CDialog:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CMyFormView* pView = (CMyFomrView*)GetParent();
     
    int i = pView->GetCode();

    J'ai une Access Violation. Donc je pense que le GetParent ne doit pas marcher!!

    Que dois je faire?

  9. #9
    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
    essaye de faire ce qui est indiqué à la fin de ce post:
    http://c.developpez.com/faq/vc/?page...ialogGetParent

  10. #10
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Par défaut
    Citation Envoyé par farscape
    essaye de faire ce qui est indiqué à la fin de ce post:
    http://c.developpez.com/faq/vc/?page...ialogGetParent
    Merci. je l'ai enfin fait. Dur de s'y remettre après les vacances.

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

Discussions similaires

  1. Variable globale / Propriété des threads
    Par rgarnier dans le forum XMLRAD
    Réponses: 4
    Dernier message: 03/10/2003, 10h49
  2. Cacher Variable Url avec Variable Globale
    Par danuz dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/09/2003, 17h20
  3. Variable "globale" (dans plusieurs templa
    Par mattmat dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 17/06/2003, 19h22
  4. question sur les variables globales et les thread posix
    Par souris_sonic dans le forum POSIX
    Réponses: 5
    Dernier message: 13/06/2003, 13h59
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 08h34

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