Difference between revisions of "AddExitProc/de"

From Lazarus wiki
Jump to navigationJump to search
m (Fixed template loop; syntax highlighting; categorised)
Line 1: Line 1:
{{Translate}}
+
{{LanguageBar}}
  
 
=AddExitProc=
 
=AddExitProc=
 +
 
Mit '''AddExitProc''', kann man eine Procedure zuweisen, welche bei Programm-Ende aufgerufen wird.<br>
 
Mit '''AddExitProc''', kann man eine Procedure zuweisen, welche bei Programm-Ende aufgerufen wird.<br>
 
Auch bei Beendigungen durch eine Laufzeitfehler.<br><br>
 
Auch bei Beendigungen durch eine Laufzeitfehler.<br><br>
Line 7: Line 8:
  
 
==Beispiel==
 
==Beispiel==
 +
 
In diesem Beispiel, wird bewusst eine Datei geöffnet, welche es nicht gibt.
 
In diesem Beispiel, wird bewusst eine Datei geöffnet, welche es nicht gibt.
  
<syntaxhighlight>
+
<syntaxhighlight lang="pascal">
 
program AddExitProc_Example;
 
program AddExitProc_Example;
  
Line 50: Line 52:
  
 
==Siehe auch==
 
==Siehe auch==
 +
 
* [[ExitProc/de|ExitProc und ExitCode]] - Programm-Ende abfangen und ExitCode auswerten.
 
* [[ExitProc/de|ExitProc und ExitCode]] - Programm-Ende abfangen und ExitCode auswerten.
  
Line 55: Line 58:
  
 
[[Category:Pascal]]
 
[[Category:Pascal]]
 +
{{AutoCategory}}

Revision as of 00:06, 20 January 2020

Deutsch (de) English (en)

AddExitProc

Mit AddExitProc, kann man eine Procedure zuweisen, welche bei Programm-Ende aufgerufen wird.
Auch bei Beendigungen durch eine Laufzeitfehler.

Gegenüber dem einfachen ExitProc hat diesen den Vorteil, das man sich nicht um das sichern und wieder aufrufen der alten ExitProc kümmern muss, dies geschieht mit AddExitProc automatisch im Hintergrund.

Beispiel

In diesem Beispiel, wird bewusst eine Datei geöffnet, welche es nicht gibt.

program AddExitProc_Example;

const
  MyExitCode = 123;

  procedure Ende;
  begin
    WriteLn('Das ist das Ende');
    case ExitCode of
      2: begin
        WriteLn('Datei nicht gefunden');
      end;
      MyExitCode: begin
        WriteLn('Es wurde bewusst mit ', MyExitCode, ' abgebrochen');
      end;
      else begin
        WriteLn('Fehler: ', ExitCode);
      end;
    end;
  end;

var
  f: file;

begin
  // Neue ExitProc zuweisen.
  AddExitProc(@Ende);

  // Eine Datei öffnen, welche es nicht gibt.
  Assign(f, 'abc.txt');

  // Dies löst einen Laufzeitfehler 2 aus.
  Reset(f);

  // Mit eigenem Code abbrechen.
  Halt(MyExitCode);
end.

Siehe auch

Autor: Mathias