Erreur d'execution '49': convention d'appel de DLL incorrecte

Signaler
Messages postés
51
Date d'inscription
samedi 3 novembre 2007
Statut
Membre
Dernière intervention
8 mars 2011
-
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
-
Salut à tout le monde

je fais une application sur vb6 utilisant une DLL
j'ai creer ma DLL et elle s'est bien compilé et je l'ai essayé et à chaque fois que je lance mon application
ellle me sort " Erreur d'execution '49': convention d'appel de DLL
incorrecte "


voici ma fonction dans la DLL


<!-- ORIGINAL -->__declspec(dllexport) double __cdecl test(double radius)

{

   return (4 * radius * radius);

}


et au niveau du VB6 le code est :


Private Declare Function test Lib "EasyDLL.dll" (ByVal r As Double) As Double


Private Sub Command2_Click()

    Dim v As Double

    v = 1.234

    Text5.Text = test(v)

   

End Sub


Quelqu'un pourrait m'aider
Merci d'avance

2 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
te faut du __stdcall comme convention d'appel
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
Si t'es sous VC++, tu dois ajouter le paramètre /DEF:nomdufichierdef.def au linker.
Et ce fichier doit contenir ceci (si un double fait 8 octets) :
LIBRARY nomdelalib
EXPORTS
test = _test@8