Aufruf einer Funktion aus einer DLL funktioniert in Python 2.6, aber nicht in Python 2.7
Hallo Liste, ich versuche gerade einen Programmcode von Python 2.6 auf Python 2.7 zum Laufen zu bringen. In dem Code wird aus einer DLL eine Funktion aufgerufen. In Python 2.6 funktioniert dies auch, aber wenn ich den gleichen Code in Python 2.7 ausführe, scheitert der Funktionsaufruf. Meine Frage ist nun, ob sich im Zusammenspiel Python und DLL zwischen 2.6 und 2.7 etwas verändert hat? Ich habe jedenfalls bis jetzt nichts dazu gefunden. Die DLL wird in beiden Versionen erfolgreich geöffnet, nur der Funktionsaufruf scheitert. Der DLL-Code ist hier: https://github.com/EventGhost/EventGhost/blob/master/_build/extensions/WinUs... Der betreffende Python-Code: https://github.com/EventGhost/EventGhost/blob/master/eg/Classes/WinUsb.py#L6...
Am 12.11.2016 um 13:16 schrieb Torsten P. via python-de:
Der DLL-Code ist hier: https://github.com/EventGhost/EventGhost/blob/master/_build/extensions/WinUs... Der betreffende Python-Code: https://github.com/EventGhost/EventGhost/blob/master/eg/Classes/WinUsb.py#L6...
Ich schlage vor, den bewährten ersten Schritt des Debuggings und Fragestellens anzuwenden: erzeuge ein minimales, lauffähiges Programm, welcehs das Problem reproduziert. Chris
Hallo,
ich versuche gerade einen Programmcode von Python 2.6 auf Python 2.7 zum Laufen zu bringen. In dem Code wird aus einer DLL eine Funktion aufgerufen. In Python 2.6 funktioniert dies auch, aber wenn ich den gleichen Code in Python 2.7 ausführe, scheitert der Funktionsaufruf.
Meine Frage ist nun, ob sich im Zusammenspiel Python und DLL zwischen 2.6 und 2.7 etwas verändert hat? Ich habe jedenfalls bis jetzt nichts dazu gefunden.
neben dem was Chris schon erwaehnte - hast du mal konkrete Fehlermeldungen? Ein Verdachtsmoment, den ich schon mal anbieten koennte - C-Runtime-Inkompatibilitaet. 2.6 fuer Windows ist von 2008, das ist mit Sicherheit nicht schon mit dem heute verwendeten VS gebaut. Diez
participants (3)
-
Christopher Arndt
-
Diez B. Roggisch
-
Torsten P.