Component: компонентная принадлежность |
Во время компиляции вводится понятие текущего компонента. Компонент задает пространство имен. Все описываемые идентификаторы попадают в текущий компонент. Переключение текущего компонента осуществляется директивой:
<текущий-компонент> = #component <имя-компонента>
<имя-компонента> - идентификатор длиной не более 20 символов. Имена компонентов '' (пустая строка), inherited и private зарезервированы.
Переключение возможно в любом месте исходного кода за исключением контекстов объектов, меню, диалогов и т.д. При завершении разбора файла, подключенного директивой #include, восстанавливается текущий компонент, запомненный при начале разбора файла. Таким образом можно безопасно подключать заголовочные файлы с описанием идентификаторов из других компонент.
При первом переключении компонента, создаётся стек идентификаторов и компонент добавляется в конец списка компонент. Компонент с именем '' (пустая строка), является системным и создаётся самым первым. Все системные типы и функции описаны в этом компоненте.
При отсутствии указанного компонента в словаре выдается предупреждение "Компонент <имя-компонента> не имеет ни одной таблицы в словаре, возможно ошибочно задан параметр Vip.ComponentName".
Атлантис 5.XX