Язык:
Русский
English
ErrorAddr, ExitCode и ExitProc (переменные) (модуль System)
Переменные ExitProc, ExitCode и ErrorAddr используются для установки процедуры выхода.
Указательная переменная ExitProc позволяет вам устанавливать процедуру выхода. Процедура выхода всегда вызывается при завершении программы.
Процедура выхода не требует параметров и должна компилироваться с директивой дальнего вызова (FAR).
При условии корректной установки, процедура выхода становится частью цепочки процедур выхода. Процедуры выхода в такой цепочке выполняются в порядке, обратном установке.
Чтобы сохранить цепь процедур выхода неповрежденной, вы должны сохранить текущее содержание переменной ExitProc перед изменением ее на адрес вашей собственной процедуры выхода.
Первый оператор в вашей процедуре выхода должен переустановить сохраненное значение переменной ExitProc.
Процедура выхода может получить информацию о завершении, исследуя переменную типа Integer ExitCode и указательную переменную ErrorAddr.
■ В случае нормального завершения, ExitCode = 0 и ErrorAddr = NIL.
■ В случае завершения через обращение к процедуре Halt, ExitCode
содержит значение, переданное к Halt, а ErrorAddr = NIL.
■ В случае завершения из-за ошибки во время выполнения программы,
ExitCode содержит код ошибки, а ErrorAddr содержит адрес оператора,
в котором произошла ошибка.
Последняя из процедур выхода (установленная библиотекой поддержки) закрывает стандартные файлы Input и Output. Если значение ErrorAddr не равно NIL, то выводится сообщение об ошибке во время выполнения программы.
Как только библиотека поддержки вызвала все установленные процедуры выхода, программа завершает свое выполнение и возвращается в операционную систему, передавая как код возврата значение, сохраненное в переменной ExitCode.