Функции для работы с системой лицензирования Назад В начало Вперед

В случае наличия в приложении главного меню (Desk), его пункты делятся на контуры и модули в соответсвии с описанием меню. Смена текущего контура или модуля, а также вызов пункта меню какого-либо модуля (через любимые функции или через рабочее место) приводит к открытию и закрытию контуров и модулей. Этот процесс сопровождается захватом и освобождением соответствующих лицензий. В любой момент времени может быть открыто произвольное число контуров и модулей, текущим при этом является тот, чье меню активно.

Особенность работы заключается в том, что в любой момент времени открыт хотя бы один контур (за исключением загрузки через интегратор без dsk-файла, когда активен интегратор, а меню в приложении еще нет). Поэтому при переключении сначала открывается новый контур или модуль. И лишь потом, при удачном открытии, закрывается, если возможно (нет открытых окон), старый.

Для перехвата переключения модуля или контура необходимо подписаться на специальные точки расширения. Подписок может быть несколько, вызываться они будут в соответствии с общими правилами точек расширения. Точки расширения описаны в файле source\sysobjifc\epsystem.vih. См. также раздел "Точки расширения. ":

extensionpoint epBeforeEnterModule(aContour: string; aModule: string);
extensionpoint epBeforeExitModule(aContour: string; aModule: string);
extensionpoint epAfterEnterModule(aContour: string; aModule: string);
extensionpoint epAfterExitModule(aContour: string; aModule: string);

Где:

Можно предотвратить переход в контур /модуль. Кроме того можно предотвратить выход из контура /модуля, т.е. освобождение соответствующей лицензии. И для того, и для другого обработчик точки расширения должен вернуть false. Анализируются только точки расширения before. Точки расширения after сделаны для уведомления.

Следующие функции позволяют получить информацию из лицензионного файла:

Следующие функции позволяют получить информацию о текущих контурах, количестве работающих в них пользователях и другую полезную информацию: ItsCommonContourName, Lic_ModuleMayBeUsed.

Оглавление раздела

Функция ItsCommonContourName

Функция Lic_ContourExists

Функция Lic_ContourNameByItemName

Процедура Lic_FirstAttribute

Процедура Lic_FirstContour

Процедура Lic_FirstItem

Процедура Lic_FirstPlatform

Функция Lic_GetAttribute

Функция Lic_ItemExists

Функция Lic_ModuleMayBeUsed

Функция Lic_NextAttribute

Функция Lic_NextContour

Функция Lic_NextItem

Функция Lic_NextPlatform