Seite 1 von 1

Externes Programm startet nicht

Verfasst: 3. August 2009 20:18
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?

Verfasst: 4. August 2009 12:31
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.

Verfasst: 5. August 2009 14:39
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.

Verfasst: 5. August 2009 14:54
von Christian81
C:\programm.exe
Genau so ? Ich hoffe nicht...

Verfasst: 5. August 2009 18:27
von AnTeevY
Nein, natürlich mit C:/programm.exe bzw. C:\\programm.exe, wenn du das meinst...

Verfasst: 5. August 2009 18:54
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.

Verfasst: 5. August 2009 19:56
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.

Verfasst: 5. August 2009 20:59
von Christian81
Dort solltest Du aber trotzdem dann den vollen Pfad angeben da: http://qtforum.de/forum/viewtopic.php?t=9646#48625