Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.python > #4542 > unrolled thread

DLL-Funktion von Python aus nutzen

Started byHans-Georg Joepgen <test@joepgen.com>
First post2016-09-25 22:25 +0200
Last post2016-09-26 00:07 +0200
Articles 2 — 2 participants

Back to article view | Back to de.comp.lang.python


Contents

  DLL-Funktion von Python aus nutzen Hans-Georg Joepgen <test@joepgen.com> - 2016-09-25 22:25 +0200
    Re: [Python-de] DLL-Funktion von Python aus nutzen "Diez B. Roggisch" <deets@web.de> - 2016-09-26 00:07 +0200

#4542 — DLL-Funktion von Python aus nutzen

FromHans-Georg Joepgen <test@joepgen.com>
Date2016-09-25 22:25 +0200
SubjectDLL-Funktion von Python aus nutzen
Message-ID<e4qq5lF64t1U1@mid.individual.net>
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

[toc] | [next] | [standalone]


#4543 — Re: [Python-de] DLL-Funktion von Python aus nutzen

From"Diez B. Roggisch" <deets@web.de>
Date2016-09-26 00:07 +0200
SubjectRe: [Python-de] DLL-Funktion von Python aus nutzen
Message-ID<mailman.2.1474842036.2302.python-de@python.org>
In reply to#4542
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@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@python.org
> https://mail.python.org/mailman/listinfo/python-de
> 

[toc] | [prev] | [standalone]


Back to top | Article view | de.comp.lang.python


csiph-web