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 ?
Version imprimable
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 ?
Bonjour
Pourquoi ne pas tout simplement creer des getters ???
Salut
il faudrait deja savoir comment tu as declare ces variables.
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)
:tagcode:
Que crois tu que devrais faire cette fonction ? (Oublie le c�t� DLL pour la r�ponse, il n'est pas pertinent.)Citation:
Envoy� par alfonsebrown
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...
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.Code:*Voie1 = 1;