Python und Strings

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
mulek
User
Beiträge: 11
Registriert: Montag 28. April 2008, 21:15
Kontaktdaten:

Dienstag 20. Mai 2008, 13:16

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.
BlackJack

Dienstag 20. Mai 2008, 13:38

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.
mulek
User
Beiträge: 11
Registriert: Montag 28. April 2008, 21:15
Kontaktdaten:

Dienstag 20. Mai 2008, 13:51

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)
BlackJack

Dienstag 20. Mai 2008, 15:05

Was ist `Hexapod`? Wo kommt das Modul her? Wie sieht der volle Stacktrace aus?
mulek
User
Beiträge: 11
Registriert: Montag 28. April 2008, 21:15
Kontaktdaten:

Dienstag 20. Mai 2008, 15:15

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.
Antworten