Forums Neueste Beiträge
 

Laden einer *.dll

25/01/2012 - 16:53 von jsapen | Report spam
Hallo,

ich nutze ctypes um eine dll zu laden, welche in c++ geschrieben ist.
Diese *.dll enthàlt Methoden mit denen es Möglich ist eine
Kommunikation zur Messnabe via Bluetooth aufzubauen und um die Werte
zu empfangen welche von der Messnabe gesendet werden.
Der Aufruf der *.dll erfolgt mit windll.loadlibrary(...)

Rufe ich die Methoden aus der *.dll auf, so erhalte ich entweder:
0 -->Ok
-1 --> Error


Nu habe ich folgendes Problem, nachdem ich mit py2exe die *.exe gebaut
habe:
- Auf meinem Rechner(Vista) mit dem ich Programmiere, funktioniert das
alles wunderbar und ohne Probleme
- auf einem XP Rechner funktioniert das Programm mal und mal nicht,
das Phànomen tritt zufàllig auf
- auf einem Vista Rechner ist es nicht Möglich, die Kommunikation
zwischen Messnabe und Programm aufzubauen. Das Programm erkennt das
auf einer bestimmten Com Stelle etwas angeschlossen ist (versucht sich
zu verbinden) aber nach kurzer Zeit bekomme ich die Meldung dass der
Verbindungsaufbau nicht funktioniert hat (Die Meldung stammt aus
meinem Programm)

Die *.dll welche ich aufrufe ist auch auf den Testrechnern vorhanden,
das war meine erste Vermutung.

Mittlerweile habe ich keine Idee mehr woran es liegen kann, da ich
keine Fehlermeldung bekomme und so stochere ich im nix rum und hofft
das richtige zu finden, was nicht wirklich effektiv ist.

Hat vielleicht jemand eine Idee woran es liegen kann, dass keine
Kommunikation aufgebaut werden kann, bzw. das die Methoden aus der
*.dll immer -1 zurückliefert?

Viele Grüße
JS
 

Lesen sie die antworten

#1 Hartmut Goebel
25/01/2012 - 17:05 | Warnen spam
Hallo,

Am 25.01.2012 16:53, schrieb :
Nu habe ich folgendes Problem, nachdem ich mit py2exe die *.exe gebaut
habe:



Hmm, ein Schuß ins Blaue: Probier mal www.pyinstaller.org aus. Dort gibt
es einen Commit-Eintrag, der andeutet, dass ein Probleme mit ctypes und
Windows "Assemblies" gelöst wurde. Vielleicht ist Dein Problem ja was in
dieser Richtung.

pyinstaller kann Programme auch in mit Debug-Output erzeugen oder als
"one-dir" erzeugen. Da könnte dann bei der Fehlersuche helfen.

Schönen Gruß - Regards
Hartmut Goebel
Dipl.-Informatiker (univ.), CISSP, CSSLP

Goebel Consult
Spezialist für IT-Sicherheit in komplexen Umgebungen
http://www.goebel-consult.de

Monatliche Kolumne: http://www.cissp-gefluester.de/
Goebel Consult ist Mitglied bei http://www.7-it.de

Ähnliche fragen