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 :

probleme de stdcall


Sujet :

MFC

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    6
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 6
    Par d�faut probleme de stdcall
    Bonjour a tous,

    J'ai un probleme de chargement de dll. Je vous explique:

    Je travaille sous Visual Studio 2008 en C++ sur une dll qui utilise les autres dll du projet par cdecl. Or j'ai besoin d'utiliser une autre dll qui elle utilise _stdcall comme convention.

    C'est a ce niveau la que je suis bloque, car je ne vois pas comment me sortir de cette situation inextricable a mes yeux!!

    Quelqu'un aurait-il une solution a me proposer?

    Merci d'avance

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    D�tails du profil
    Informations personnelles :
    �ge : 51
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par d�faut
    La librairie d'importation de ta DLL en stdcall (mode qu'il faudrait d'ailleurs privil�gier si tu veux �tre plus facilement interfac� avec d'autres langages, ceci �tant dit...), ainsi que ses ent�tes, poss�de normalement d�j� les �l�ments n�cessaires � l'importation correcte.

    Si ce n'est pas le cas, que poss�des-tu comme �l�ments pour utiliser la DLL en question ?
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au s�rieux, de toutes fa�ons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum ad�quat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    6
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 6
    Par d�faut
    En fait, je ne poss�de qu'une DLL (ExtraPuTTY pour ne pas la nommer) qui sert d'interface � un executable. J'utilise alors un loadLibrary pour l'utiliser.

    Je ne poss�de malheureusement rien d'autre pour l'utiliser...

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    D�tails du profil
    Informations personnelles :
    �ge : 51
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par d�faut
    HEIN ?? :
    Tu n'as m�me pas un ent�te (.H) pour cette DLL ????
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au s�rieux, de toutes fa�ons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum ad�quat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    6
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 6
    Par d�faut
    Ben nan, j'ai pas d'ent�te pour faire les choses proprement

    J'ai juste la DLL � charger dynamiquement, et rien d'autre.

    L'embetant, c'est que j'ai besoin des fonctions qu'elle fournit mais que son chargement (_stdcall ) est incompatible avec mes autres dll (_cdecl )

    sniff

  6. #6
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    D�tails du profil
    Informations personnelles :
    �ge : 51
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par d�faut
    Ceci se r�gle dans l'ent�te, via les directives d'importation. Ce n'est pas un probl�me, mais de toutes fa�ons, que veux-tu charger si tu n'as pas les fonctions de la DLL ainsi que les prototypes des fonctions en question ??

    Tu dois forc�ment avoir quelque chose : un .H, une doc, quelque chose. Sinon, cherches sur le net le "vrai" pack de d�veloppement, et si tu n'as toujours rien, gueules aupr�s de ton responsable.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au s�rieux, de toutes fa�ons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum ad�quat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  7. #7
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    6
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 6
    Par d�faut
    Effectivement, dans une doc j'ai le prototype des fonctions pour pouvoir les utiliser ( c'est plus pratique ). C'est d'ailleurs ce qui me permet d'appeler les fonctions.

    Le petit p�pin pour moi c'est surtout le chargement...

  8. #8
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    D�tails du profil
    Informations personnelles :
    �ge : 51
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par d�faut
    Citation Envoy� par vimacs Voir le message
    Effectivement, dans une doc j'ai le prototype des fonctions pour pouvoir les utiliser ( c'est plus pratique ). C'est d'ailleurs ce qui me permet d'appeler les fonctions.
    Bon, ben faut transformer �a en un fichier .H pour commencer, et d�finir le bon type d'importation.

    Exemple (ent�te .H d'utilisation de la librairie) :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    // Type fonctionnel pour importer "DWORD FunctionDll1(DWORD,DWORD,LPVOID)" depuis la DLL.
    typedef __declspec(dllimport) DWORD (__stdcall *ptrfunctiondll1) ( DWORD param1, DWORD param2, LPVOID param3 ) ;
    // Définit le pointeur de fonction lui-même.
    extern ptrfunctiondll1 FunctionDll1 ;
    Fichier .C d'importation "r�elle" :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    FunctionDll1 = GetProcAddress(hLibrary,"FunctionDll1");
    Voil�. J'ai un doute sur l'utilit� r�elle du "__declspec(dllimport)" (peut-�tre pas n�cessaire, � tester), le reste est bon.

    Tu n'as plus qu'� r�p�ter la s�quence "d�claration de type / de fonction / GetProcAddress" pour chaque fonction de la DLL, et pr�voir bien s�r le code LoadLibrary/FreeLibrary ad�quat tout autour.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au s�rieux, de toutes fa�ons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum ad�quat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

Discussions similaires

  1. Probleme d'appel d'une dll, sans lib et sans stdcall
    Par tchern dans le forum Visual C++
    R�ponses: 8
    Dernier message: 31/07/2007, 16h37
  2. Probleme de rafraichissement d'un BDGrid
    Par marmotte dans le forum Bases de donn�es
    R�ponses: 10
    Dernier message: 28/05/2004, 18h07
  3. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    R�ponses: 8
    Dernier message: 06/05/2002, 19h01
  4. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    R�ponses: 19
    Dernier message: 03/05/2002, 14h50
  5. [Kylix] Probleme de nombre flottant!!
    Par yopziggy dans le forum EDI
    R�ponses: 5
    Dernier message: 02/05/2002, 10h13

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