Chargement DLL

Chapi72 Messages postés 15 Date d'inscription mardi 23 novembre 2004 Statut Membre Dernière intervention 25 mai 2005 - 3 déc. 2004 à 10:36
Chapi72 Messages postés 15 Date d'inscription mardi 23 novembre 2004 Statut Membre Dernière intervention 25 mai 2005 - 3 déc. 2004 à 14:13
Bonjour,

j'essaie juste de charger une DLL dans un pg C++ (en visualC++)
Voici mon code:

HINSTANCE hDLL = LoadLibrary("SpotCam.dll");
typedef int(WINAPI *DLL_Function_TestFunction)(int _Value);
DLL_Function_TestFunction pfn_TestFunction;
pfn_TestFunction = (DLL_Function_TestFunction)GetProcAddress(hDLL,"SpotInit");

Et voici ce que me dit le compilateur:
Compiling...
Projet03.cpp
H:\MES DOCUMENTS\VisualC\Projet03\Projet03.cpp(18) : error C2501: 'pfn_TestFunction' : missing storage-class or type specifiers
H:\MES DOCUMENTS\VisualC\Projet03\Projet03.cpp(18) : error C2373: 'pfn_TestFunction' : redefinition; different type modifiers
H:\MES DOCUMENTS\VisualC\Projet03\Projet03.cpp(17) : see declaration of 'pfn_TestFunction'
H:\MES DOCUMENTS\VisualC\Projet03\Projet03.cpp(18) : error C2440: 'initializing' : cannot convert from 'int (__stdcall *)(int)' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
Error executing cl.exe.

L'erreur est sur la dernière ligne !
Merci d'avance.

7 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
3 déc. 2004 à 10:58
Le code fourni compile chez moi (VC++ 6.0)

Vérifie si dans ton vrai code, il y a pas une erreur de frappe ici :
DLL_Function_TestFunction pfn_TestFunction;

car "cannot convert from 'int (__stdcall *)(int)' to 'int'" suppose que le compilo a bien compris le type "DLL_Function_TestFunction" mais que la variable "pfn_TestFunction" n'a pas ce type.
0
Chapi72 Messages postés 15 Date d'inscription mardi 23 novembre 2004 Statut Membre Dernière intervention 25 mai 2005
3 déc. 2004 à 11:19
J'ai fait un copier coller! Donc ça ne vient pas d'une erreur de frappe.
Est-ce que ça peut venir de ma dll ? Par exemple, il ne trouve pas la fonction ! (J'ai déjà vérifier que hDLL n'est pas NULL)

Merci.
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
3 déc. 2004 à 11:37
Le fait que la dll existe ou pas ainsi que la fonction ne change rien vu que c'est la compilation qui plante.

pfn_TestFunction ne serait pas définit une première fois un peu plus haut dans le code avec un autre type ? (pourrait expliquer le "'pfn_TestFunction' : redefinition; different type modifiers")
0
Chapi72 Messages postés 15 Date d'inscription mardi 23 novembre 2004 Statut Membre Dernière intervention 25 mai 2005
3 déc. 2004 à 13:33
Bah j'ai essayé de changer de nom et tj pareil...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Chapi72 Messages postés 15 Date d'inscription mardi 23 novembre 2004 Statut Membre Dernière intervention 25 mai 2005
3 déc. 2004 à 13:38
ymca2003, tu m'as dit que tu avais réussi à le compiler. Peux-tu m'envoyer ton code STP?

Merci.
0
cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 2
3 déc. 2004 à 13:43
Compile chez moi sans erreurs, et je n'ai fait que copier/coller dans un main() vide...
0
Chapi72 Messages postés 15 Date d'inscription mardi 23 novembre 2004 Statut Membre Dernière intervention 25 mai 2005
3 déc. 2004 à 14:13
Ok c'est bon ça marche maintenant!
J'sais pas ce qui merdé mais j'ai reconstruit le pg à partir du morceau de code!

Merci
0
Rejoignez-nous