Bonjour,
Je cherche depuis un petit moment comment appeler une fonction d'une dll C++ en CSharp sans succés.
Voici la partie C++
Voici maintenant la partie C# qui me pose problème. Voici ce que je comptais faire :
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 const int TAILLE = 20; struct MonTypeStruct { WCHAR * chaine; BYTE array[TAILLE]; int i; } // Déclaration d'une variable static de type MonTypeStruct static MonTypeStruct staticStruct; MonTypeStruct GetStruct() { return staticStruct; // On retourne la variable global }
Lors de l'execution du code, j'ai une exception du type NotSupportedException, mais je ne sais pas quoi faire.
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 const Int32 TAILLE = 20; [StructLayout(LayoutKind.Sequential)] public struct MonTypeStruct { [MarshalAs(UnmanagedType.LPWStr)] public String chaine; [MarshalAs(UnmanagedType.LPArray, SizeConst = TAILLE)] public Byte[] array; public Int32 i; } [DllImport("maDllCpp.dll")] static extern MonTypeStruct GetStruct(); //Appel de la methode dans une fonction C# MonTypeStruct mts = GetStruct();
Pouvez-vous m'aider ?
Par avance Merci![]()
Partager