[Python-de] DLL-Funktion von Python aus nutzen
Diez B. Roggisch
deets at web.de
So Sep 25 18:07:40 EDT 2016
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 <test at joepgen.com>:
>
> 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 at python.org
> https://mail.python.org/mailman/listinfo/python-de
>
Mehr Informationen über die Mailingliste python-de