Bonjour à tous,
Je souhaite transférer dans une structure C++ via une dll, le contenu d'une structure (UDT) VBA.
Mon code VBA est le suivant :
Du coté du C++, j' effectue
Code : 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
17
18
19
20
21
22
23
24
25
26
27
28
29
30 Private Declare Function Cpp_TEST1 Lib "C:\Users\\TEST1.dll" (ByRef iStruct As myStruct) As Double Type myStruct n As Long data() As Long rData As Boolean End Type iStruct.n = 10 iStruct.rData= True ReDim iStruct.data(1 To 12) iStruct.data(1) = 1 iStruct.data(2) = 2 iStruct.data(3) = 3 iStruct.data(4) = 4 iStruct.data(5) = 5 iStruct.data(6) = 6 iStruct.data(7) = 7 iStruct.data(8) = 8 iStruct.data(9) = 9 iStruct.data(10) = 10 iStruct.data(11) = 11 iStruct.data(12) = 12 Test1 = Cpp_TEST1(iStruct)
Lorsque j'espionne la donnée iStruct, je récupère les bonnes valeurs pour les donnée n et rData.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 struct myStruct{ long n; long *data; VARIANT_BOOL rData; }; XLSTATLINK_API double __stdcall Cpp_TEST1(myStruct *iStruct) { return 1; }
Pour le tableau de long, les données obtenues sont aléatoires :
Mon problème est que je n'arrive pas récupérer le tableau contenu dans la structure VB à partir de la DLL C++ !![0] 8388609 long
[1] 4 long
[2] 0 long
[3] 234122136 long
[4] 12 long
[5] 1 long
[6] 634790639 long
[7] -2013222912 long
[8] 352064696 long
[9] 352064792 long
[10] 1771379816 long
[11] 537 long
Merci d'avance pour votre aide ;-)
Partager