Difference between revisions of "ExitProc/de"
From Free Pascal wiki
Jump to navigationJump to search (Created page with "{{Translate}} =ExitProc= '''ExitProc''', kann man eine Procedure zuweisen, welche bei Programm-Ende aufgerufen wird.<br> Auch bei Beendigungen durch eine Laufzeitfehler.<br><...") |
m (→Beispiel) |
||
Line 10: | Line 10: | ||
<syntaxhighlight> | <syntaxhighlight> | ||
− | program | + | program ExitProc_Example; |
var | var |
Revision as of 18:28, 24 April 2018
ExitProc
ExitProc, kann man eine Procedure zuweisen, welche bei Programm-Ende aufgerufen wird.
Auch bei Beendigungen durch eine Laufzeitfehler.
Es wird empfohlen die alte ExitProc zu sichern, und dies bei der neuen ExitProc wieder aufzurufen.
Beispiel
In diesem Beispiel, wird bewusst eine Datei geöffnet, welche es nicht gibt.
program ExitProc_Example;
var
OldExitProc: Pointer;
procedure Ende;
begin
WriteLn('Das ist das Ende');
if ExitCode = 2 then begin
WriteLn('Datei nicht gefunden');
end else begin
WriteLn('Fehler: ', ExitCode);
end;
ExitProc := OldExitProc;
end;
var
f: file;
begin
// Alte ExitProc sichern.
OldExitProc := ExitProc;
// Neue ExitProc zuweisen.
ExitProc := @Ende;
// Eine Datei öffnen, welche es nicht gibt.
Assign(f, 'abc.txt');
// Dies löst einen Laufzeitfehler 2 aus.
Reset(f);
end.
Mit erzwungenem Ende
Wen man ein Programm-Ende mit Halt() erzwingt, wird ExitProc aufgerufen.
In diesem Beispiel hat dann ExitCode 123.
Halt(123);
Autor: Mathias