poseidon2
Messages postés36Date d'inscriptionjeudi 24 juillet 2003StatutMembreDernière intervention12 août 2003
-
30 juil. 2003 à 10:27
cs_Arkko
Messages postés192Date d'inscriptionmercredi 26 décembre 2001StatutMembreDernière intervention31 janvier 2007
-
1 août 2003 à 00:44
En fait je cherche a utiliser la fonction d'une de mes DLL, dans une MFC. Pour cela j'utilise la fonction donné par MSDN:
hDLL2 = LoadLibrary("HptSimLibVC");
if (hDLL2 != NULL){
__DBG_LOG("le prog trouve la dll et entre dans la fonction");
lpfnDllFunc2 = (LPFNDLLFUNC2)GetProcAddress(hDLL2,"setHptFilename");
if (!lpfnDllFunc2){
// handle the error
FreeLibrary(hDLL2);
__DBG_LOG("le prog ne trouve pas la fonction dans la dll");
}
else{
// call the function
CString Haptique="\\haptic\\haptic_";
Haptique+=JourHeure;
__DBG_LOG("%s",Haptique);
bool verif = lpfnDllFunc2(Haptique);
__DBG_LOG("le prog trouve la fonction dans la dll %d", verif);
}
__DBG_LOG("la ca marche?");
}
Cett fonction marche MAIS ferme le programe 2 seconde apres sans passer par mon: "La ca marche?".
Pour atnt j'ai bien declaré tous ce qu'il fallait :
typedef bool (CALLBACK* LPFNDLLFUNC2)(CONST CHAR*);
HINSTANCE hDLL2; // Handle to DLL
LPFNDLLFUNC2 lpfnDllFunc2; // Function pointer
CONST CHAR *strParam1;
D'ou mon incomprehension. Si qq a une idée je prends ;)
cs_JCDjcd
Messages postés1138Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention25 janvier 20094 30 juil. 2003 à 10:36
Essaye de faire a la fin :
__DBG_LOG("la ca marche?");
__DBG_LOG("la ca marche?");
deux fois !
Mais es-tu sur que tu passe bien par cette ligne ??
T'as fais tu pas-a-pas en debug ?
:-p :-p :-p :shy) :-p :-p :-p :shy) :-p :-p :shy)
:shy) :-p :shy) :shy) :-p :shy) :shy) :shy) :-p :shy) :-p
:shy) :-p :shy) :shy) :-p :shy) :shy) :shy) :-p :shy) :-p
:-p :-p :shy) :shy) :-p :-p :-p :shy) :-p :-p :shy)
cs_Arkko
Messages postés192Date d'inscriptionmercredi 26 décembre 2001StatutMembreDernière intervention31 janvier 2007 1 août 2003 à 00:44
Je sais que je ne repond pas a ta question mais .. serais-ce pas plus simple d'ajouter le *.lib que la compilation de ta dll a crée et ensuite inclure les fichier header de ta dll dans ton projet en remplacant les __declspec(dllexport) par __declspec(dllimport) ou tout simplement ajouter un "define" du genre
et tu met TONPROG_EXPORTS dans les définitions
préprocesseurs
(ta declaration de fonction ce fait par exemple:
TONPROG_API HRESULT v3dCreateFullscreen(WNDPROC WndProc,char* WndClassName);
et dans ton .h (les prototypes quoi ? ;)
TONPROG_API HRESULT v3dCreateFullscreen(WNDPROC,char*);
ce serais + simple tk c mon avis mais je suis debutant ;)