Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: ein dosprogramm mit errorlevel beenden

  Alt 3. Mär 2005, 13:47
Zitat von Sprint:
Halt(1); bzw. Halt(0);
Ist dass den unbedingt nötig, das Programm vor eine Betonmauer zu lenken, um es anzuhalten?

So, habe mir mal die Mühe gemacht und das getestet:
Delphi-Quellcode:
procedure TForm1.FormDestroy(Sender: TObject);
begin
  ExitCode := 2;
end;
Das ist das Delphi Programm. Wie man sieht, wird der ExitCode auf zwei gesetzt.

Jetzt die Batch-Datei:
Code:
echo off
Project1.exe

if errorlevel 2 goto Fehler
if not errorlevel 2 goto Richtig

:Richtig
echo "Richtig"
goto Ende

:Fehler
echo "Errorlevel 2"
goto Ende

:Ende
Pause
Wie man sieht, soll "Errorlevel 2" ausgegeben werden, wenn der Errorlevel / ExitCode des Programmes zwei ist und "Richtig" in allen anderen Fällen.

Und hier nun die Ausgabe:
Code:
E:\Delphi\Programme>echo off
"Errorlevel 2"
Drücken Sie eine beliebige Taste . . .
Wie man sieht, setzt die globale Variable ExitCode den Errorlevel. Ändere ich den ExitCode in 0, wird zum Zweig :Richtig in der Batch-Datei gesprungen.

Tu mir also bitte einen Gefallen und nimm das Halt aus deinem Code, sonst gibt es auf den Delphi-Tagen in Kassel keinen Nachtisch für dich.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat