Externes Programm startet nicht

Alles rund um die Programmierung mit Qt
Antworten
AnTeevY
Beiträge: 19
Registriert: 1. Juli 2006 20:57

Externes Programm startet nicht

Beitrag von AnTeevY »

Hallo, ich will via QProcess eine exe-Datei starten, die sich im selben Ordner wie das Qt-Programm befindet. Leider passiert beim Buttonklick aber gar nichts, nur Windows-Programme wie "notepad.exe" funktionieren, wohl weil sie in die PATH-Systemvariable eingetragen sind. error() liefert immer "5" zurück, also unknown error - jedoch unabhängig ob das Programm startet (notepad.exe) oder nicht (mein eigenes Programm). Hab auch mal setWorkingDirectory() versucht, sowie den vollen Pfad vor die .exe gehängt, alles ohne Erfolg.

Code: Alles auswählen

QProcess *myProcess = new QProcess();
     myProcess->start("programm.exe");
Irgendwelche Ideen?
RavenIV
Beiträge: 267
Registriert: 21. Januar 2009 14:24
Wohnort: Waldshut

Beitrag von RavenIV »

Meine Idee:
Der QProcess bekommt ein eigenes Environment und weiss nichts vom Directory, wo das Programm liegt.
Also das Programm-Verzeichnis über QDir herauslesen und dem QProcess mitgeben.
Linux, das längste Text-Adventure aller Zeiten
AnTeevY
Beiträge: 19
Registriert: 1. Juli 2006 20:57

Beitrag von AnTeevY »

Danke für die Antwort, hab ich aber auch schon probiert (per direkte Pfadangabe). Habe sogar die .exe mal nach C:\ kopiert und dann eben "C:\programm.exe" übergeben, passiert auch nichts.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

C:\programm.exe
Genau so ? Ich hoffe nicht...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
AnTeevY
Beiträge: 19
Registriert: 1. Juli 2006 20:57

Beitrag von AnTeevY »

Nein, natürlich mit C:/programm.exe bzw. C:\\programm.exe, wenn du das meinst...
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Hast Du es schonmal mit einer anderen Applikation probiert die keine Dependencies hat? Außerdem - wie überprüfst Du die Fehler? connect mit QProcess:finished() ? Benutzt Du QProcess::waitForStarted ()? Zeig uns mal etwas mehr Code.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
AnTeevY
Beiträge: 19
Registriert: 1. Juli 2006 20:57

Beitrag von AnTeevY »

mhm. Lag tatsächlich an den Dependencies. Naja, am Ende werden sowieso beide .exe's im selben Ordner landen, daher wird das kein Problem darstellen. Seltsam, ich hätte damit gerechnet, dass die gleichen Fehlermeldungen kommen, wie wenn ich die Programm-Exe in einem "falschen" Verzeichnis starte. Dass da dann aber überhaupt nichts kommt ist komisch - aber jetzt ist auch klar, warum er mir keinen Fehler angezeigt hat.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Dort solltest Du aber trotzdem dann den vollen Pfad angeben da: http://qtforum.de/forum/viewtopic.php?t=9646#48625
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten