Seite 1 von 1
Python und Strings
Verfasst: Dienstag 20. Mai 2008, 13:16
von mulek
Hallo
Ich verwende in meinem Programm einige Funktionen aus einer selbst erstellten dll
Hier liegt mein Problem:
Ich verwende die Funktion OpenSerialPort aus der dll
Diese erfordert aber einen C-String.
Wie würde der folgende Code richtig sein?
string = "Test"
pSerial.OpenSerialport( string)
bzw. kommt diese Fehlermeldung:
def OpenSerialport(*args): return _Hexapod.SerialCommunication_OpenSerialport(*args)
RuntimeError: Unknown Error.
Verfasst: Dienstag 20. Mai 2008, 13:38
von BlackJack
Wie verwendest Du denn die DLL? Ein bisschen mehr Informationen und ein echtes Stück Quelltext mit einer dazu passenden, vollständigen Fehlermeldung wäre nicht schlecht.
Verfasst: Dienstag 20. Mai 2008, 13:51
von mulek
import Hexapod
ComPort = "\\\\.\\Com5"
pSerial = Hexapod.SerialCommunication()
pSerial.OpenSerialport(ComPort)
das ist das einzige was ich dir schreiben kann
lg
in C++ sieht die Deklaration dieser funktion folgendermassen aus:
void SerialCommunication::OpenSerialport(std::string const & CommPort)
Verfasst: Dienstag 20. Mai 2008, 15:05
von BlackJack
Was ist `Hexapod`? Wo kommt das Modul her? Wie sieht der volle Stacktrace aus?
Verfasst: Dienstag 20. Mai 2008, 15:15
von mulek
Mittels SWIG und dem vorhandenen c++ code hab ich mir eine dll erstellt
diese dl beinhaltet alle Funktionen um ansteuern eines Hexapods.
mit import Hexapod rufe ich den verweis auf die dll auf.
Code: Alles auswählen
Traceback (most recent call last):
File "E:\Mulek\Dokumente\Eclipse\Hexapod\src\main.py", line 19, in <module>
pSerial.OpenSerialport()
File "E:\Mulek\Dokumente\Eclipse\Hexapod\src\Hexapod.py", line 315, in OpenSerialport
def OpenSerialport(*args): return _Hexapod.SerialCommunication_OpenSerialport(*args)
TypeError: SerialCommunication_OpenSerialport() takes exactly 2 arguments (1 given
Das ist das von SWIG generiere file:
Edit (Leonidas):
ausgelagert.
Edit (Leonidas): In Code Tags gesetzt und ausgelagert.