Bonjour,
Voila j'ai besoin de créer une DLL en C++ qui sera utilisé par un programme en VB6, j'ai beau testé tout les tutoriels qui se trouve sur le net, je n'y arrive pas.
Sous VS2008 je créé un projet Win32 vide, qui contient 1 seul .cpp:
Et voici le programme VB6:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 extern "C" { __declspec(dllexport) int DisplayHelloFromDLL(int a,int b) { return a+b; } }
Déclaration
Et l'appel de la fonction:
Code : Sélectionner tout - Visualiser dans une fenêtre à part Public Declare Function DisplayHelloFromDLL Lib "ma_dll.dll" (ByVal a As Long, ByVal b As Long) As Long
Et là je tombe sur une erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub Command1_Click() Dim a As Long Dim b As Long a = 1 b = 2 MsgBox API.DisplayHelloFromDLL(a, b) End Sub
Erreur d'exécution 49: Convention d'appel de DLL incorrecte.
Quel est le problème? Apparemment cette erreur est générer si lors de la déclaration je lui passe un mauvais type d'argument, mais ici se n'est pas le cas!
J'ai oublié quelque chose dans ma DLL C++?
J'ai tout essayer avec des fichiers .def, etc... mais rien ça ne veux pas!
Merci
Partager