Comment faire appel a une DLL a partir d'une application MFC
cs_leFeu
Messages postés22Date d'inscriptionsamedi 25 mars 2006StatutMembreDernière intervention18 février 2009
-
22 janv. 2009 à 13:50
nanonavich
Messages postés54Date d'inscriptionmardi 25 mars 2008StatutMembreDernière intervention15 août 2015
-
22 janv. 2009 à 20:49
j'ai une application MFC, qui fait appel a une DLL.
En fait, j'utilise une DLL qui joue le role d'un solver pour les programme d'optimisation lineaire (CoinMP). elle est implementée en C++, et la DLL ainsi que le .lib sont offerts
il y a déja un code ecrit en C pour faire appel a cette DLL qui est le suivant
//********la partie declaration dans un fichier .h*********************
#define SOLVCALL __stdcall
typedef void *HPROB;
HPROB (SOLVCALL *CoinCreateProblem)(char *ProblemName);
lorsque j'ai intégré ce code dans mon programme MFC il me genère une erreur : unresolved external link
donc j'ai essayé de faire l'appel avec des pointeurs
j'ai mis le tout dans un fichier .cpp
typedef void *HPROB;
HPROB hProb;
HINSTANCE DLLHandle;
DLLHandle = LoadLibrary("CoinMP.DLL");
typedef HPROB ( *explePointer)(char *ProblemName);
explePointer Pointer1;
Pointer1 = (explePointer)GetProcAddress(DLLHandle,"CoinCreateProblem");
hProb = Pointer1("test");
a la compilation tt se passe bien mais a l'execution, j'ai une execption 0xC0000005 acces violation
sachant que j'ai mis la dll et le .lib dans le mme dossier que mon projet
y a t il qlq'un qui peut m'aider? et merci d'avance