Besoin d'un coup de main pour un problème d'interopérabilité c++ c#
Bonjour à tous,
Je suis actuellement confronté à un problème qui commence à me peser. Je dois utiliser une dll écrite en c++ dans mon programme en c#.
J'ai pas eu de problème pour la majorité des structures mais là je bloque...
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| //TextLed structure pour les afficheurs 7 segments
typedef union
{
long n;
struct _text
{
char c1,c2,c3; // caractères 1,2,3
char clignotant; // 1 = "Clignote", 0 = "Normal"
} t;
} TextLed; |
J'ai essayé ceci (qui me semblait prometteur) mais sans grand résultat.
Le principe étant d'exploser la structure text pour la replacer char par char
à sa place dans l'union.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| [StructLayout(LayoutKind.Explicit)]
public class TextLedStructure
{
#region Members
[FieldOffset(0)]
[MarshalAs(UnmanagedType.I8)]
public long n;
[FieldOffset(0)]
public char t_c1;
[FieldOffset(1)]
public char t_c2;
[FieldOffset(2)]
public char t_c3;
[FieldOffset(3)]
public char t_clignotant;
#endregion
} |
Vous avez une idée? J'avoue que là je sèche un peu.