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
#ifdef TONPROG_EXPORTS
#define TONPROG_API __declspec(dllexport)
#else
#define TONPROG_API __declspec(dllimport)
#endif
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 ;)
-------------------------------
Réponse au message :
-------------------------------
> 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
