Seite 1 von 1

[gelöst] Falscher Return-Wert bei QProcess und Batch?

Verfasst: 21. September 2011 14:33
von Oxymoron
Hallo zusammen,

ich rufe in meinem Programm eine Windows Batch-Datei über QProcess auf. Die Batch endet mit:

Code: Alles auswählen

exit /B 1337
Dann hole ich mir den Rückgabewert über QProcess:

Code: Alles auswählen

const int exit_code = process.exitCode();
std::cout << "exit code is " << exit_code << std::endl;
Die Ausgabe ist dann aber:
exit code is 0
Müsste ich hier nicht 1337 zurückbekommen?! Ich versteh es einfach nicht...

Qt 4.6.2 unter Windows XP.

Gruß
Oxy

Re: Falscher Return-Wert bei QProcess und Batch?

Verfasst: 21. September 2011 14:52
von Oxymoron
Na geil, stundenlang suche ich rum und kurz nachdem ich hier poste finde ich die Antwort selbst. :-D Anscheinend lag es am Schalter "/B".

Ohne diesen Schalter beendet das Script die cmd.exe mit dem entsprechenden Error-Code.

Mit diesem Schalter beendet sich das Script nur selbst mit dem Error-Code. Anschließend beendet sich cmd.exe, da nichts mehr zu tun ist. Da hier alles richtig ist liefert cmd.exe den Rückgabewert 0. Und den fängt dann QProcess auf...

Sorry für die Störung. Weiter machen! ;-)

Gruß
Oxy