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 :

Utiliser les variables globales d'une DLL dans un prog C++


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    23
    D�tails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Par d�faut Utiliser les variables globales d'une DLL dans un prog C++
    Dans un programme en c++, j'utilise une DLL que j'ai fait aussi en c++. J'arrive � en appeler les fonctions mais pas les variables globales que j'ai rendu accessible.
    Quelqu'un pourrait m'aider ?

  2. #2
    Membre �prouv�
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    87
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Par d�faut
    Bonjour


    Pourquoi ne pas tout simplement creer des getters ???

  3. #3
    Membre confirm�
    Inscrit en
    Septembre 2003
    Messages
    49
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 49
    Par d�faut
    Salut
    il faudrait deja savoir comment tu as declare ces variables.

  4. #4
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    23
    D�tails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Par d�faut
    mes variables sont d�clar�es comme ceci
    extern double *Voie1;
    extern double *Voie2;

    et la fonction qui les utilise dans ma DLL est :
    long __stdcall CControlApp::EventControl(double *Voie1,double *Voie2)
    {
    Voie1 = (double*)1;
    Voie2 = (double*)2;
    return 1;
    }

    le probl�me c'est que je veux traiter Voie1 et Voie2 comme ceci, y avoir acc�s hors de la DLL mais ma fonction ne doit retourner que un long (qui correspondra plutard a un code d'erreur)

  5. #5
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut

    Citation Envoy� par alfonsebrown
    mes variables sont d�clar�es comme ceci
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    extern double *Voie1;
    extern double *Voie2;
     
    et la fonction qui les utilise dans ma DLL est : 
    long __stdcall CControlApp::EventControl(double *Voie1,double *Voie2)
    {
    	Voie1 = (double*)1;
    	Voie2 = (double*)2;
    return 1;
    }
    Que crois tu que devrais faire cette fonction ? (Oublie le c�t� DLL pour la r�ponse, il n'est pas pertinent.)
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

  6. #6
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    23
    D�tails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Par d�faut
    La fonction je l'ai simplifi�e. J'ai juste mis ce qui posait probl�me. j'arrive pas � modifier les param�tres de Voie1 et Voie2 hors de la Dll. Ils sont bien mis a jour quand je passe dans la dll, puis sont r�initialis�s hors de la Dll...

  7. #7
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    C'est normal. Le param�tres non r�f�rence sont toujours pris par valeur.
    Or ce que tu �cris, c'est que tu fais pointer ton param�tre formel (qui n'est donc pas un alias vers ton param�tre r�el, vu que ce n'est pas une r�f�rence) vers l'addresse 1 (ou 2) en m�moire. NB: je ne connais d'ailleurs aucun int�r�t � faire cela.
    Accessoirement, le param�tre formel qui porte le m�me nom qu'une variable globale ne me parait pas tr�s bien vu.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

Discussions similaires

  1. r�cuperation variable globale d'une class dans un autre
    Par FATENMRABET dans le forum D�buter avec Java
    R�ponses: 31
    Dernier message: 26/09/2013, 16h07
  2. R�ponses: 1
    Dernier message: 28/08/2008, 22h37
  3. Acc�der � une variable globale d'une DLL
    Par eric_marciano dans le forum Windows
    R�ponses: 4
    Dernier message: 07/08/2008, 16h09
  4. R�cup�ration variable globale d'une DLL
    Par bleach1234 dans le forum C
    R�ponses: 9
    Dernier message: 12/09/2007, 16h46
  5. R�ponses: 9
    Dernier message: 06/04/2006, 18h40

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