Pure Pascal en interne : Procédures de sortie
Les procédures de sortie sont utilisées pour garantir que certaines actions sont effectuées lorsque le programme est fermé, comme l'enregistrement de fichiers.
Une procédure de sortie n'a pas de paramètres. Il est appelé à la fin normale du programme ou lorsque le programme est interrompu par arrêt. L'installation a lieu en affectant l'adresse de la procédure à la variable pointeur ExitProc.
Il est possible d'enregistrer plusieurs procédures de sortie. Si vous installez une nouvelle procédure de sortie, vous devez vous souvenir de l'ancienne valeur d'ExitProc. Si la procédure de sortie est ensuite exécutée, elle doit restaurer l'ancienne valeur de ExitProc, par ex.
La partie terminaison du programme appelle les procédures de sortie jusqu'à ce que ExitProc contienne nil. Afin d'éviter des boucles sans fin, en particulier en cas d'erreurs dans une procédure de sortie, ExitProc est mis à nil chaque fois qu'une procédure de sortie est appelée.... var OldExit : Pointer; ... procedure NewExit; begin ExitProc := OldExit; ... end; ... begin OldExit := ExitProc; ExitProc := @NewExit; ... end.