Класс PzlPort
Назначение
Класс pzlPort является ядром системы VpPuzzle и предназначен для обеспечения работы с pzl-компонентами. Этот класс обязательно должен включаться в проект главного приложения, генерирующего исполняемый (.EXE) файл.
Обращения к предикатам этого класса возможны только из классов главного исполняемого приложения. Компоненты, помещенные в DLL-контейнеры, не могут обращаться к предикатам этого класса.
Список предикатов класса
classInfo.
Получение информации о классе |
init:().
Инициализация системы VpPuZzle |
isInitialized:() determ.
Проверка инициализации системы VpPuZzle |
setComponentRegisterFileName:(string ComponentRegisterFileName).
Установка имени файла-реестра компонент |
Используемые дополнительные ресурсы
Обязательно:
- использование библиотеки pzlPort_XX.lib, где XX - квалификатор лицензии. Библиотека фактически содержит имплементацию класса pzlPort и включает имплементацию свойств pzl-Контейнера главного исполняемого приложения.
- наличие пакета pzlConfig, который участвует в процессе инициализации.
Описание предикатов класса
core::classInfo/0
classInfo:().
Получение информации о классе.
Описание
Является типичным предикатом, который автоматически генерируется при генерации текста любого класса средствами IDE системы VIP. Описание и порядок использования предиката - см. руководства VIP.
pzlPort::init/0
init:().
Инициализация системы VpPuzzle.
Описание
Этот предикат всегда должен быть первым предикатом, к которому производится обращение. После инициализации возможны обращения к другим классам pzl-системы.
Инициализация pzl-системы может быть выполнена как немедленно после старта приложения, так и в любой другой момент, когда возникает необходимость в начале ее использования. Деинициализация системы невозможна.
Повторная инициализация игнорируется.
Исключения
Предикат при исполнении не генерирует исключения. Повторная инициализация игнорируется.
Пример
clauses run():- pzlPort::init(), TaskWindow = taskWindow::new(), ...
pzlPort::setComponentRegisterFileName/1
setComponentRegisterFileName:(string ComponentRegisterFileName).
Установка имени файла-реестра компонент.
Файл ComponentRegisterFileName является одним из хринилищ информации о pzl-компонентах на данном компьютере. Другим хранилищем является реестр Windows. При поиске информации о месте расположения компоненты, файл регистрации используется первым. Если файла нет или компонента в нем не зарегистрирована, то поиск продолжается в системном реестре Windows.
Информация в файле-реестре компонент хранится в формате термов, принятом в системе Visual Prolog (save-consult). Прежде чем компонента может быть использована на данном компьютере, она должна быть на нем зарегистрирована. Приложение, которое использует pzl-технологию, может либо не использовать файл-реестр компонент либо может назначить использование этого файла путем установки его имени с помощью предиката setComponentRegisterFileName/1.
Установка имени файла после старта приложения может быть осуществлена только один раз. Загрузка данных о регистрации компонент производится только один раз при первом обращении к какой-либо pzl-компоненте. Добавление информации о регистрации в этот же файл или изменение этой информации после того, как приложение обратилось к этому файлу, не могут повлиять на уже работающее приложение.
Описание
Параметр ComponentRegisterFileName должен быть либо полным именем файла, либо относительным именем относительно места расположения главного исполняемого приложения.
Исключения
Пример
pzlPort::isInitialized/0
isInitialized:() determ.
Описание
Исключения
Пример