Seite 1 von 1

Mit ctypes auf eine Klasse in einer DLL zugreifen?

Verfasst: Donnerstag 15. Mai 2008, 13:31
von Hand
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.

Verfasst: Donnerstag 15. Mai 2008, 14:28
von Leonidas
Was ist das denn für eine DLL? Eine C-DLL oder ein .NET Assembly?

Verfasst: Donnerstag 15. Mai 2008, 15:22
von 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.