Bonjour,
Je rencontre un probl�me en voulant utiliser des structure an argument de fonction entre une dll C++ et le VBA.
J'utilise visual studio 2010.
Code C++
Code VBA
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11 struct ms { int a; double b; }; __declspec(dllexport) double __stdcall Cpp_Test(ms *i) { return i->a + i->b; }
Code vba : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13 Private Declare PtrSafe Function Cpp_Test Lib "MyDLL.dll" (i As ms) As Double Type ms a As Long b As Double End Type Sub Test() Dim i As ms i.a = 12 i.b = 3.14 MsgBox Cpp_Test(i) End Sub
Cela ne marche pas car je perd ma valeur de b. J'ai le sentiment qu'il y a un probl�me d'alignement et je n'arrive pas � le r�gler.
J'ai essay� d'utiliser le mot clef:sur ma structure mais �a ne change rien.
Code : S�lectionner tout - Visualiser dans une fen�tre � part __declspec(align(8))
Auriez-vous une id�e du probl�me et comment le r�soudre s'il vous pla�t?
Merci!
Partager