Strukuten mit Zeiger auf Unterstrukturen in ctypes

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
tokstolle
User
Beiträge: 9
Registriert: Mittwoch 3. Dezember 2008, 21:39

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
tokstolle
User
Beiträge: 9
Registriert: Mittwoch 3. Dezember 2008, 21:39

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
Antworten