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.
Python und Strings
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.
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)
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)
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.
Das ist das von SWIG generiere file:
Edit (Leonidas): ausgelagert.
Edit (Leonidas): In Code Tags gesetzt und ausgelagert.
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
Edit (Leonidas): ausgelagert.
Edit (Leonidas): In Code Tags gesetzt und ausgelagert.