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 dans une dll MFC


Sujet :

MFC

  1. #1
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    24
    D�tails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 24
    Par d�faut variable globale dans une dll MFC
    salut � tous,

    voil� mon pb :

    j'ai une classe A dans une dll particuli�re avec une variable globale.
    Dans A.h, il y a
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    extern Type AFX_EXT_CLASS var;
    et dans A.cpp, il y a
    si dans mon appli je cr�e une classe B qui d�rive de A et donc fait un include de A.h et qui utilise cette variable, tout est ok.
    Si je reprend exactement la meme classe B dans une autre dll, tout compile bien (il voit bien la d�claration extern du A.h) mais pb de link :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    symbole externe non résolu Type var
    il ne voit pas la d�claration qui est dans A.cpp

    Est-ce qu'il y a quelque chose de particulier � faire pour une variable globale entre 2 dll? ou est-ce que j'ai mal fait ma variable et que dans le cas de l'appli �a marche myst�rieusement?
    �a fait un moment que je suis dessus et j'avoue que si quelqu'un avait un �l�ment de r�ponse, �a m'aiderait bcp.
    merci

  2. #2
    Membre �m�rite Avatar de homeostasie
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    939
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 939
    Par d�faut
    Est-ce qu'il y a quelque chose de particulier � faire pour une variable globale entre 2 dll?
    Disons que ce n'est pas logique. Une dll est r�alis� pour �tre ind�pendante, c'est � direautonome.
    De plus, une des r�gles de la cr�ation d'une "library" est l'absence de variables globales....

  3. #3
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    24
    D�tails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 24
    Par d�faut
    oui, je suis d'accord la variable globale n'est normalement utilis�e que dans la dll o� A est d�finie. Mais je me suis retrouv� � avoir besoin d'une classe qui en h�rite et qui n'a pas lieu d'�tre dans cette dll alors je ne vois pas comment faire autrement.
    Est-ce que cela veut dire qu'on ne peut pas avoir de variable globale entre les 2 dll?

  4. #4
    Membre �m�rite Avatar de homeostasie
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    939
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 939
    Par d�faut
    Est-ce que cela veut dire qu'on ne peut pas avoir de variable globale entre les 2 dll?
    On ne doit m�me pas utiliser par principe les variables globales dans une dll! Entre deux dll, c'est le principe m�me des libraires (dynamiques ou statiques) qui tombe � l'eau. A ne pas faire!

    A part cela, je ne sais si l'erreur vient de l� mais �a ne m'�tonnerait pas que cela soit li�.
    Puis, je crains des comportemts ind�finis avec une telle impl�mentation...

  5. #5
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    24
    D�tails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 24
    Par d�faut
    ok merci, je vais voir � me d�mmerder autrement. Le pb est qu'on d�veloppe du code puis un beau jour on se dit "tiens, on peut r�utiliser ce code l� pour telle autre application et aussi celle la... et en plus c ind�pendant, bon ben on transforme �a en dll" et apr�s c'est jamais vraiment propre et on n'a pas le temps (ni l'envi) d'assainir tout �a donc on continue comme �a.
    enfin, je trouverai bien qu�que chose.
    merci

Discussions similaires

  1. Variable globale dans une DLL
    Par CTotophe85 dans le forum C++
    R�ponses: 3
    Dernier message: 09/09/2008, 17h40
  2. Utilisation d'une variable publique dans une DLL
    Par Delphi-ne dans le forum Delphi
    R�ponses: 13
    Dernier message: 05/12/2006, 13h19
  3. Variables globales dans une fonction?
    Par Death83 dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 26/07/2006, 01h53
  4. R�ponses: 6
    Dernier message: 07/04/2006, 01h10
  5. Variables globales dans une classe
    Par vanitom dans le forum C++
    R�ponses: 16
    Dernier message: 14/01/2005, 14h40

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