wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 0
Invités en ligne : 5
Pub hébergeur
Pourquoi cette pub ?

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» variables globales
Conversation (Résolue) : variables globales
25-05-2011 11:26:12  variables globales #1
shallows (Membre)
Inscrit le : 05-04-2011
Messages: 47
Snippets: 0
Tutoriels: 0
Hors ligne
Bonjour,
voila j'ai un problèmme avec ma variable globale.
Je voudrais initialiser modifier ma variable depuis une fonction (si on clique sur un bouton, elle prend la valeur true ou false)et je voudrais que la fonction de mon autre fichier puisse faire sa boucle si la variable vaut "false" par exemple.
Je l'ai donc declarer comme suit:
Main.h

Code wxWidgets:

extern bool stop_Thread;

Main.cpp

Code wxWidgets:

bool stop_Thread= false;
int reponse = wxMessageBox(_T("souhaitez vous continuer?"),_T("Information"),wxYES_NO|wxCANCEL);
 
        if(reponse == wxYES)
        {
              stop_Thread = true;
        }

autreFonction.cpp

Code wxWidgets:

#include "Main.h"
bool stop_Thread;//si je ne le declare pas j'ai undefined reference et si je le declare il me dit qu'il est pas initialisé
if(stop_Thread != true)
       {
           wxMessageBox(_T("false"));
       }
       else
       {
            wxMessageBox(_T("true"));
       }

En gros, ma deuxième fonction ne considére pas du tout la valeur donnée dans le main, est ce que vous aurriez une idée pour qu'elle le fasse?
J'espere que vous pourrez m'aider je galére et je n'ai pas trouvé de reponse concluante sur les forums.
Merci d'avance
Shallows

Dernière modification par shallows (25-05-2011 11:30:50)

25-05-2011 14:03:06  Re: variables globales #2
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1365
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut.

A voir comme ça, je dirais que la ligne bool stop_Thread= false; présente dans le fichier "Main.cpp" est à l'intérieur d'une fonction.
Ce qui fait que ce n'est pas la variable globale qui est utilisée, mais une variable "locale".

Il faut mettre cette ligne en dehors de toute fonction, au début du fichier (par exemple, juste après avoir inclus le fichier Main.h).

C'est pour ça que tu as un "undefined reference" depuis le thread même s'il y a la ligne #include "Main.h"

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
25-05-2011 14:19:30  Re: variables globales #3
shallows (Membre)
Inscrit le : 05-04-2011
Messages: 47
Snippets: 0
Tutoriels: 0
Hors ligne
c'est exactement ça ^^"
Merci beaucoup.
Shallows
Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» variables globales