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 : 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
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.

Auriez-vous une id�e du probl�me et comment le r�soudre s'il vous pla�t?

Merci!