Création d'une dll depuis visual C++ pour l'utiliser depuis VB

Résolu
vibby Messages postés 6 Date d'inscription dimanche 7 novembre 2004 Statut Membre Dernière intervention 24 mai 2005 - 24 mai 2005 à 09:21
vibby Messages postés 6 Date d'inscription dimanche 7 novembre 2004 Statut Membre Dernière intervention 24 mai 2005 - 24 mai 2005 à 12:57
J'essai d'utiliser du code C++ avec une interface vb
Je pense passé par une biblio dll,
J'ai écrit cette mini fonction pour tester le principe :


extern int puissanc(int nb); // j'ai éssayé sans cette ligne aussi
int puissanc(int nb);
{
return nb*nb;
}


Je compile ça dans un dll avec visual C++ (no prob), je le colle dans system32 et vérifie que j'en pas ailleurs sur mon disque (tant qu'on y est !)
Puis dans vb, je déclare la fonction :


Declare Function puiss _
Lib "testdll.dll" _
Alias "puissanc" _
(ByVal x As Integer) _
As Integer


Mais quand j'utilise la fonction puiss(3), il me sort erreur 49 : "Convention d'appel de DLL incorrecte"
Je m'arrache les cheveux aidez-moi svp

2 réponses

vibby Messages postés 6 Date d'inscription dimanche 7 novembre 2004 Statut Membre Dernière intervention 24 mai 2005
24 mai 2005 à 12:57
Merci, c'était une partie du problème ... :)


Si ca peut servir, pour l'autre l'autre partie, il fallait ecrire la fonction de cette façon :

int __declspec puissanc(int nb);
{
return nb*nb;
}
Pour le détail, voir http://rp.developpez.com/vb/tutoriels/dll/

Merci pour ton aide en tout cas
3
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
24 mai 2005 à 10:36
oui car dans un systeme 32 bits comme windows 95 jusqu'a xp l'int en c = As Long en vb.

Declare Function puiss _
Lib "testdll.dll" _
Alias "puissanc" _
(ByVal x As Long) _
As Long

@+


E.B.
0
Rejoignez-nous