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.