DLL-Funktion von Python aus nutzen
Es soll die Funktion HeEnum in der DLL 'he2325u.dll' von Henrik Haftmann aus einem Pythonscript genutzt werden. Auszug aus he2325u.h: #define HE_NUM_MAX 256 ... FUNC(void) HeEnum(char List[HE_NUM_MAX]); Das Script (Python 3.5.2, Windows 10 V1607/64): import ctypes dll = ctypes.WinDLL ('he2325u.dll') liste = ctypes.create_string_buffer(256) dll.HeEnum (liste) print (liste.value) Statt der erwarteten Liste wird ein Block mit folgendem Start ausgegeben: b'\xfe\xfe\xff\xff\xff\xff\xff\xff\... Irgendwo muss ein dummer Fehler stecken. Sieht den jemand? Nebenbei: Es geht um das Auslesen des Uni-Trend DMM UT61B per USB-Interface. Das Programm dmm von Henrik Haftmann schafft das über he2325u.dll sehr schön; Dll und DMM sind also in Ordnung. Gruß -- Joe
Wieso sollte da magisch eine Liste auftauchen? C kennt keine Listen. Jedenfalls nicht so. Die Funktion erwartet, bekommt & befüllt ein Character Array. Das kannst du nun selbst in eine Liste verwandeln. Oder einfach direkt drüber iterieren. Diez Mobile Mail. Excuse brevity.
Am 25.09.2016 um 22:25 schrieb Hans-Georg Joepgen
: Es soll die Funktion HeEnum in der DLL 'he2325u.dll' von Henrik Haftmann aus einem Pythonscript genutzt werden. Auszug aus he2325u.h:
#define HE_NUM_MAX 256 ... FUNC(void) HeEnum(char List[HE_NUM_MAX]);
Das Script (Python 3.5.2, Windows 10 V1607/64):
import ctypes dll = ctypes.WinDLL ('he2325u.dll') liste = ctypes.create_string_buffer(256) dll.HeEnum (liste) print (liste.value)
Statt der erwarteten Liste wird ein Block mit folgendem Start ausgegeben:
b'\xfe\xfe\xff\xff\xff\xff\xff\xff\...
Irgendwo muss ein dummer Fehler stecken. Sieht den jemand?
Nebenbei: Es geht um das Auslesen des Uni-Trend DMM UT61B per USB-Interface. Das Programm dmm von Henrik Haftmann schafft das über he2325u.dll sehr schön; Dll und DMM sind also in Ordnung.
Gruß -- Joe _______________________________________________ python-de maillist - python-de@python.org https://mail.python.org/mailman/listinfo/python-de
participants (2)
-
Diez B. Roggisch
-
Hans-Georg Joepgen