Salut,

Je dois appeler depuis mon application C# une fonction située dans une dll, voici le prototype de la fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
const char* ma_fonction(long number);
J'ai fait un DllImport comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
[DllImport("\\dll\\madll.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern StringBuilder ma_fonction
(
     long number
);
Et voici mon appel de fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
StringBuilder error_string = new StringBuilder(1024);
error_string = ma_fonction(error_number);
Mais à l'exécution j'ai une erreur m'indiquant que j'ai déséquilibré la pile.

Qu'est ce qui ne va pas ? Auriez-vous des exemples similaires à me proposer ?

Merci.

++