Voila c ptet tout con mais comme j'y connais pas grand chose ...
Donc c un appel dynamique de la dll avec un GetProcAddress, tout fonctionne au poil ... sauf quand ma fonction a comme paramètre un (char *) ...
Je m'explique :
Code :
- typedef BYTE * (WINAPI * FnGBI) (void);
- FnGBI GetBMPImage = NULL;
- ...
- GetBMPImage = (FnGBI) GetProcAddress (hDll, "ExpGetBMPImage" );
|
Ca ça marche, mais ça :
Code :
- typedef BYTE * (WINAPI * FnGBI) (char *);
- FnGBI GetBMPImage = NULL;
- ...
- GetBMPImage = (FnGBI) GetProcAddress (hDll, "ExpGetBMPImage" );
|
Ca marche pas !
Et ce même si le corps de la fonction est le même ! Ca me fait une erreur de debug avec un truc du genre la convention d'appel de la fonction est mauvaise ou un truc comme ça. La fenêtre d'erreur ressemble à celles qu'on a avec un mauvaise utilisation d'un new ou delete.
Merci d'avance.