Prblm déclaration de DLL c++ en vb

cs_cirrus Messages postés 12 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 17 novembre 2006 - 10 juin 2003 à 14:44
cs_cirrus Messages postés 12 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 17 novembre 2006 - 10 juin 2003 à 15:36
voila, g fouillez partout sur les message mais g rien trouvez qui puisse m'aider donc j'écrit texto mon prblm :)

j'appelle une fonction de ma dll fait en c++ avec mon programme vb. Mais quand je lance le prog j'obtient le message suivant : Bad DLL Calling convention !
je déclare la dll comme ca :

Public Declare Function simuleKey Lib "C:\Winamp.dll" Alias "HandleKey" (ByVal bCustom As Long, ByVal wKeyEvent As Integer, ByVal wState As Integer) As Long

et je l'appelle comme ca dans mon Form_Load:

Dim a As Long
a = simuleKey(-1, 37, 1)

à l'origine la fonction c++ est comme ca :

BOOL HandleKey (BOOL bCustom, WORD wKeyEvent, WORD wState)

alors qqun peut m'aider ? :))

2 réponses

UnExPeCtEdSpy Messages postés 139 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 3 juillet 2003
10 juin 2003 à 14:49
Bonjour,
BOOL HandleKey (BOOL bCustom, WORD wKeyEvent, WORD wState)

Ta fonction d'origine retourne un booleen (BOOL)
Donc dans la déclaration de ta dll dans ton prog vb tu devrais le retrouver
donc non pas As long mais As boolean

Public Declare Function simuleKey Lib "C:\Winamp.dll" Alias "HandleKey" (ByVal bCustom As Long, ByVal wKeyEvent As Integer, ByVal wState As Integer) As Boolean


A+

,.~*`'^~.(^. :question) .^),.~^'`*~.
0
cs_cirrus Messages postés 12 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 17 novembre 2006
10 juin 2003 à 15:36
g changer mais g toujours la meme erreur. le type bool en c++ ce traduit par un long en vb
sinon je pourait éviter d'avoir az appeller cette dll si je savait comment transformer cette ligne en vb :

SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)file,IPC_CHANGECURRENTFILE);

c la wparam qui me pose probleme parceque je c pas comment envoyer un fichier sous forme de long en vb !
0
Rejoignez-nous