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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : 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
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.