cs_lelass
Messages postés4Date d'inscriptionmardi 10 juin 2008StatutMembreDernière intervention31 mars 2009
-
11 mars 2009 à 13:51
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 2010
-
15 mars 2009 à 23:27
slt a tous est-il possible d'appeler un code ecrit en langage c et l'utiliser en vb?Merci
The Meteorologist
Messages postés232Date d'inscriptionjeudi 18 janvier 2007StatutMembreDernière intervention 3 novembre 20111 11 mars 2009 à 14:42
Bonjour lelass, bien que cela est possible les DLL servent à ça ;) Compile une DLL en C avec tes fonctions. Tu pourras ensuite les appeler simplement avec Declare Function depuis VB.
cs_lelass
Messages postés4Date d'inscriptionmardi 10 juin 2008StatutMembreDernière intervention31 mars 2009 11 mars 2009 à 20:02
Merci pour vos reponses,mais je suis debutant en C et Vb dc je ne connait vraiment pas les dll encore moins de les compiler.Pourriez-vous m'aider une fois de plus?
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 20104 12 mars 2009 à 02:24
Salut lelass
Je n'ai pas beaucoup d'avance sur toi sur les dll. Voila un programme VBA qui appelle une fonction ajouter d'une dll générée par visual C++. Les paramètres à l'appel sont deux Long, et la valeur retournée par la fonction est un Long égal à la somme des deux paramètres. Le type Long en vba/vb6 est équivalent au type Int en c et occupe 4 octets dans la pile.
Voici la macro essai ous visual basic :
Public Declare Function ajouter Lib "test" Alias "_ajouter@8" (ByVal a As Long, ByVal b As Long) As Long
Sub essai()
Dim a As Long
Dim b As Long
Dim res As Long
a = 2
b = 3
res = ajouter(a, b) ' appelle la fonction ajouter de la dll test.dll, qui retourne la somme de a et b
End Sub
Et voici la fonction ajouter en c++ :
extern "C" _declspec(dllexport)
int _stdcall ajouter( int a, int b)
{
return (a + b);
}
Je pense que la sytaxe de ce code devrait être bonne pour VB6 et C.
Amicalement
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 20104 12 mars 2009 à 19:18
trop top, lelass.
Renfield, tu as entièrement raison. J'essaie désespérément d'enlever cette décoration. J'ai posé la question sur cppfrance.com mais c'est plus facile de me débarrasser de ma belle-mère que de cette déco. Je dois être nul. Oui, c'est sûrement ça .
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 20104 15 mars 2009 à 23:27
Salut Renfield
Oui, je passe bien par un fichier .def, mais je n'avais pas modifié les paramètres de l'éditeur de liens. J'ai ajouté un paramètre /def dans les directives de l'éditeur de liens comme cela m'a été suggéré sur cppfrance.com, et la décoration a été supprimée.