VAR MODE: SCAL[1000]; |
Неявная (недекларированная в тексте модуля) глобальная переменная модуля. Экземпляр помещается в головной модуль программы, содержит код режима запуска программы. Начиная с версии 14.108.011 отдельный экземпляр помещается также в каждую библиотеку программы на время исполнения тела инициализации, после чего изымается из библиотеки.
Условия | Глобальная переменная MODE | ||
---|---|---|---|
Модуль размещения | Время жизни | Начальное значение | |
Программа запущена опцией RunProg | головной модуль программы | время исполнения программы | режим запуска, указанный в опции RunProg; может быть пустым |
Программа запущена опцией CALL или CallBP | MNU-модуль | отсутствует | отсутствует |
модуль размещения вызываемой процедуры = головной модуль | время исполнения программы | 999 | |
Программа запущена языковым оператором CALL (процедурный вариант) | модуль размещения вызываемой процедуры = головной модуль | время исполнения программы | 999 |
Программа запущена языковым оператором CALL (модульный вариант) | головной модуль программы | время исполнения программы | режим запуска, указанный в операторе CALL; не может быть пустым |
Программа запущена для обработки оконного события | головной модуль программы | время исполнения программы | предопределенное для данного события |
Создан объект автоматизации IASLEngine | головной модуль программы | время жизни объекта IASLEngine | пустое |
Исполняется тело инициализации библиотеки, подключенной оператором IMPORT или LOADMODULE | данный библиотечный модуль | время исполнения тела инициализации библиотеки | 999 |
Библиотека, подключенная оператором PASTE, неявно наследует все пространство имен подключающего модуля (неявно, поскольку операция и модуль не декларированы в тексте PASTE-библиотеки), а значит и переменную MODE. Поэтому на время исполнения тела инициализации PASTE-библиотеки переменная MODE не добавляется.
Ряд значений MODE зарезервирован для программ-обработчиков оконных событий.