Интерфейс ASB.IASLEngine


Свойства

Application Приложение (ASB.Application)
Parent Родительский объект (ASB.Application)
Name Имя головного ASL-модуля без расширения и пути
FullName Полный путь к головному ASL-модулю
DBModificationMode Режим разрешения модификации регулярных таблиц БД
IndicatorDelay Задержка в секундах перед поднятием окна с индикатором прогресса исполнения ASL
ProgramModifiedTestMode Режим проверки модифицированности модулей
IdleTimeToReleaseSharedLocks (устар.) Пороговое время простоя для снятия разделяемых блокировок
SharedLocksAreReleased (устар.) Флаг "разделяемые блокировки сняты на время простоя"

Методы

Close Закрыть экземпляр интерпретатора
Const Создать оболочку (ASB.IASLDestWrapper) для константы из пространства имен головного модуля
Var Создать оболочку (ASB.IASLDestWrapper) для переменной из пространства имен головного модуля
Func Вызвать функцию из пространства имен головного модуля
CFunc Вызвать функцию из пространства имен головного модуля с кэшированием результата
Proc Вызвать процедуру из пространства имен головного модуля

Описание

Объект предназначен для управления экземпляром интерпретатора ASL. Создается при помощи метода CreateASLEngine объекта класса ASB.Application. В момент создания объекта класса ASB.IASLEngine создается экземпляр ASL-интерпретатора, который считывает определения головного ASL-модуля, выполняет тела инициализации (в том числе тело головного модуля) и возвращает управление. Далее программисту косвенно, через методы Const, Var, Func, CFunc и Proc, становится доступно пространство имен головного ASL-модуля.

Объект уничтожается либо явно при помощи метода Close, либо неявно по факту отсутствия ссылок на него. Объект не будет уничтожен (неявно) до тех пор, пока не будут уничтожены все порожденные им объекты класса ASB.IASLDestWrapper, поскольку они содержат ссылку на породивший объект. В случае явного уничтожения объекта методом Close будут уничтожены также и все порожденные им объекты.