Bonjour,
Je suis en train de connecter mon programme fait sous C# avec quelques libraires DLLs �crites en C++.
Tout de suite, j'obtiens sur l'�cran l'erreur suivante: "PInvokeStackImbalance" quand je veux faire allusion � cette fonction de ma DLL:
short MaFonction (char* valueCharArray, long valueLong1, long valueLong2, short valueShort);
en utilisant:
[DllImport("MaDLL.dll", EntryPoint = "MaFonction")]
unsafe public static extern short MaFonction(char[] valueCharArray, long valueLong1, long valueLong2, short valueShort);
et
valeur = MaFonction (valueCharArray, valueLong1, valueLong2, valueShort);
Le message mentionne la signature PInvoke g�re� et la signature de destin pas sign�e.
J'avais pens� � la "substitution" des pointeurs par des arrays comme la source du probl�me, mais j'ai d'autres byte* et short* avec lesquels j'ai jou� d'une fa�on similaire et je n'ai pas re�u des messages du syst�me.
En plus, je me suis aper�u que je re�ois l'erreur seulement quand je suis avec la d�puration "Debug". Quand j'execute mon application hors le Visual Studio ou avec le "Release", tout marche bien!!
Tous les probl�mes mentionn�s ont eu lieu sous le Visual Studio 2005. Je ne les ai pas test�s sous le Visual Studio 2003.
Quelques id�es sur ce que je fais mal?
Merci par avance.
Partager