Bonjour
je suis en train de développer des dll sur C++ avec Visual C++, le but c'est de les faire communiquer avec un code en Visual Basic. D'abord, j'envoie des valeurs depuis VB, les dll effectuent des calculs, ensuite grâce à vb6 j'essaie de récupérer les valeurs sortantes des dll. Pour l'instant mon code fonctionne bien quand j'essaie de récupérer un seul flottant des dll, mais moi je voudrais récupérer trois valeurs en même temps. J'ai essayé plusieurs trucs que j'ai trouvé ds ce tuto : http://rp.developpez.com/vb/tutoriels/dll/ . mais il n'y a pas une réponse pour ce que je veux faire.
j'ai essayé de faire que la dll renvoie un tableau ou un string mais c'est Visual basic qui râle dans ces cas.
voici mon code
j'ai enlevé une partie du code de calcul parceque c gros et ça n'est pas utile de le montrer
Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #include "Mod_dyn.h" #include "math.h" #include "stdio.h" #include "string.h" float __stdcall Modele_dynamique (float FgaucheX,float FgaucheY,float FdroiteX,float FdroiteY,float Gd,float K1,float K2,float K3,float Position1,float Position2,float Position3) { phie_point = K3*(FgaucheX+FgaucheY)*rayon; X_point_s_a = sin(FdroiteX)+cos(FdroiteX); Y_point_s_a = -cos(FdroiteX)+sin(FdroiteX); //ici je voudrais retourner : phie_point, X_point_s_a et Y_point_s_a return X_point_s_a; }
Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Declare Function Modele_dynamique _ Lib "[Path]" _ (ByVal FgaucheX As Single, ByVal FgaucheY As Single, ByVal FdroiteX As Single , ByVal FdroiteY As Single, ByVal Gd As Single, ByVal K1 As Single, ByVal K2 As Single, ByVal K3 As Single, ByVal Position1 As Single , ByVal Position2 As Single, ByVal Position3 As Single) As Single Private Sub Command1_Click() vitesse1 = Modele_dynamique(10, 18, 18, 18, 25, 47, 87, 89, 74, 86, 23) Text1.Text = vitesse1 end sub
Quelqu'un a une solution à me proposer svp ?
Partager