Externe Konsolenanwedung aus QT starten
Verfasst: 9. Dezember 2010 16:10
Hallo allerseits,
ich bin relativ neu was Qt betrifft, schlage mich aber ganz gut soweit. Nun habe ich allerdings folgendes Problem. Ich habe in Visual Studio 2010 eine Konsolenanwedung gschrieben und als .exe kompiliert. Diese benötigt eine .txt Datei, deren Daten verarbeitet und im Konsolenfenster ausgegeben werden. Per Doppelklick lässt sich die .exe in Windows 7 wunderbar startet und erledigt was sie soll.
Nun würde ich diese .exe gerne aus einer Qt-Applikation starten. Ich habe es bisher mit QProcess folgendermaßen versucht:
QProcess *process = new QProcess();
process->startDetached("ittp.exe");
Ergebnis: Konsole blinkt kurz auf, reagiert dann aber nicht mehr und muss beendet werden.
QProcess *process = new QProcess();
process->start("ittp.exe");
Ergebnis: Nichts passiert
QProcess *process = new QProcess();
process->startDetached("path\to\exe\ittp.exe");
Funktioniert, aber ich möchte eine relative Pfadangabe benutzen, keine vorgeschriebene.
Ein Problem is weiterhin, dass wenn die .exe ausgeführt wird, sie nicht auf die .txt zugreift, obwohl sich diese im selben Verzeichnis befindet. Unter Windows klappt das wie gesagt.
Ich hoffe mir kann jemand helfen
ich bin relativ neu was Qt betrifft, schlage mich aber ganz gut soweit. Nun habe ich allerdings folgendes Problem. Ich habe in Visual Studio 2010 eine Konsolenanwedung gschrieben und als .exe kompiliert. Diese benötigt eine .txt Datei, deren Daten verarbeitet und im Konsolenfenster ausgegeben werden. Per Doppelklick lässt sich die .exe in Windows 7 wunderbar startet und erledigt was sie soll.
Nun würde ich diese .exe gerne aus einer Qt-Applikation starten. Ich habe es bisher mit QProcess folgendermaßen versucht:
QProcess *process = new QProcess();
process->startDetached("ittp.exe");
Ergebnis: Konsole blinkt kurz auf, reagiert dann aber nicht mehr und muss beendet werden.
QProcess *process = new QProcess();
process->start("ittp.exe");
Ergebnis: Nichts passiert
QProcess *process = new QProcess();
process->startDetached("path\to\exe\ittp.exe");
Funktioniert, aber ich möchte eine relative Pfadangabe benutzen, keine vorgeschriebene.
Ein Problem is weiterhin, dass wenn die .exe ausgeführt wird, sie nicht auf die .txt zugreift, obwohl sich diese im selben Verzeichnis befindet. Unter Windows klappt das wie gesagt.
Ich hoffe mir kann jemand helfen