Seite 1 von 1

Strukuten mit Zeiger auf Unterstrukturen in ctypes

Verfasst: Dienstag 6. Januar 2009, 11:07
von tokstolle
Hallo zusammen,
ich habe folgendes Problem:
Ich möchte die folgende Strukur

Code: Alles auswählen

class STRUCT_A(Structure):
    _fields_ = [("member_a",                c_int ),
                ("member_b",         POINTER(c_int))
                ]
in einer anderen Struktur als Zeiger einhängen:

Code: Alles auswählen

class STRUCT_B(Union):
    _fields_ = [("member_a",        POINTER(STRUCT_A)),
                ("member_b",      c_byte * 48)
                ]
Nur kann ich nicht auf die Inhalte von STRUCT_A zugreifen, ich bekomme die folgende Meldung:
LP_STRUCT_A' object has no attribute 'member_a'
Wie kann ich richtig darauf zugreifen?

EDIT: ...oder muss ich zunächst erst mal ein Objekt, bzw Strukur anlegen und diese dann anheften?

Vielen Dank

Gruss Tokstolle

Verfasst: Dienstag 6. Januar 2009, 11:37
von tokstolle
Hat sich erübrigt.
Ich habe zunächst ein Objekt vom Typ STRUCT_A angelegt:

Code: Alles auswählen

my_a = STRUCT_A()
dann einen Zeiger darauf erzeugt:

Code: Alles auswählen

p = ctypes.pointer(my_a)
und den dann an die Struktur b angehägt:

Code: Alles auswählen

my_b = STRUCT_B()
my_b.member_a = p
Gruss Tokstolle