Mit ctypes auf eine Klasse in einer DLL zugreifen?

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
Hand
User
Beiträge: 65
Registriert: Sonntag 28. Januar 2007, 14:28

Hallo, ich möchte folgendes C# Programm zu Python umproggen:

C# Code

Code: Alles auswählen

di = new myDll.daveInterface(0, "IF1", 0, 1, 1)
di.setTimeout(5)

Ich habe das mal in Python umgeschrieben:

Code: Alles auswählen

myDll = ctypes.windll.LoadLibrary('../dll/libnodave.dll')
di = myDll.daveNewInterface(0, "IF1", 0, 1, 1)
di.setTimeout(5)
Ich bekomme aber immer das int object hat kein Attribut setTimeout.
Wie bekomme ich mit ctypes das richtige Objekt zurück?

Habe bei Google und in allen möglichen Foren leider nichts gefunden.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Was ist das denn für eine DLL? Eine C-DLL oder ein .NET Assembly?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

@Hand: Falls es sich um http://libnodave.sourceforge.net/index.php handelt, dann musst Du die C-DLL verwenden und die Doku lesen. Die Funktion `daveNewInterface()` gibt einen Zeiger auf eine Struktur vom Typ `daveInterface` zurück. Da kann man nicht einfach Methoden drauf aufrufen.
Antworten