Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   ExitProcess(?) und %ERRORLEVEL% (https://www.delphipraxis.net/173180-exitprocess-und-errorlevel.html)

Patrick 11. Feb 2013 14:23

ExitProcess(?) und %ERRORLEVEL%
 
Tach,

Ich komm hier einfach nicht weiter. Ich habe das Gefühl, dass mein Rechner mich verarscht.

Ich habe ein kleines Kommandozeilen-Programm geschrieben. Nach einer Fehlerüberprüfung soll das Programm mit ExitProcess(2) den Exit-Code = 2 ausgeben. Ich überprüfe das mit
Code:
echo %ERRORLEVEL%
.
Aber es wird immer ExitCode=0 zurück gegeben! Ich hab's schon mit Halt, ExitProcess und Exitcode=2;exit; versucht. Überall das selbe...!?
Code:
F:\EncodeFile>encodefile.exe "F:\tmp\STCXfail.dat"

F:\EncodeFile>echo %errorlevel%
0

F:\EncodeFile>
Was mache ich falsch?

Volker Z. 11. Feb 2013 15:10

AW: ExitProcess(?) und %ERRORLEVEL%
 
Hallo,

kann ich nicht nachvollziehen. Mit:
Delphi-Quellcode:
program Project3;

{$APPTYPE CONSOLE}

begin
  Halt (2)
end.
bekomme ich folgendes Ergebnis:

Code:
d:\> project3
d:\> echo %ERRORLEVEL%
2
Vielleicht ist Dein Ergebnis doch korrekt? Mit etwas Code kann man mehr sagen.

Gruß

Patrick 11. Feb 2013 15:27

AW: ExitProcess(?) und %ERRORLEVEL%
 
Die Welt kann so einfach sein... Wenn auch nicht ganz nachvollziehbar!

Die Zeile
Delphi-Quellcode:
{$APPTYPE CONSOLE}
macht es aus. Die hatte ich wegoptimiert.

Wieso zur Hölle kann ich nur Exitcodes zurückgeben wenn ich mein Programm als Konsolen-Programm deklariere? Es muss doch auch gehen, wenn ich eine ganz normale Anwendung schreibe?

Danke schon mal Volker!

DeddyH 11. Feb 2013 15:38

AW: ExitProcess(?) und %ERRORLEVEL%
 
Reine Vermutung: Konsolenanwendungen schreiben nach stdout bzw. stderr, ERRORLEVEL wertet auch nur diese aus. Aber wie gesagt, nur geraten, nicht recherchiert.

Patrick 11. Feb 2013 15:45

AW: ExitProcess(?) und %ERRORLEVEL%
 
Das ist ne Möglichkeit. Dann wäre es die Messmethode, die nicht funktioniert. Kennt jemand ne andere?


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz