habe folgendes Problem:
Ich habe eine DLL welche eine Funktion enthält die beim Aufruf eine Struktur erwartet:
Code: Alles auswählen
class _daveOSserialType(Structure):
_fields_ = [("rfd", c_int),("wfd", c_int)]
Code: Alles auswählen
self.fds = _daveOSserialType()
self.fds.rfd = self.fds.wfd = self._socket.fileno()
[...]
di = self._libnodave.daveNewInterface(self.fds, "IF1", 0, daveProtoISOTCP, daveSpeed187k)
Nur leider erhalte ich bei dem Auruf folgende Meldung:
ValueError: 'Procedure called with not enough arguments (24 bytes missing) or wrong calling convention'
die anzahl der parameter stimmt und die zwei variablen daveProtoISOTCP, daveSpeed187k sind integer und auch sicher korrekt. kann mir das nur erklären, das die übergabe der struktur nicht passt.
wia übergibt man denn diese struktur? denn self.fds ist ja eigentlich ein objekt.
die dll ist eine C-Dll.
gruß, daniel
Edit meint: Fehler war:
self._libnodave = cdll.LoadLibrary("libnodave.dll")
sollte windll.LoadLibrary... sein