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

Alles rund um die Programmierung mit Qt
Antworten
Oxymoron
Beiträge: 6
Registriert: 10. Juni 2010 20:04

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

Beitrag 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
Zuletzt geändert von Oxymoron am 21. September 2011 14:54, insgesamt 1-mal geändert.
Oxymoron
Beiträge: 6
Registriert: 10. Juni 2010 20:04

Re: Falscher Return-Wert bei QProcess und Batch?

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