IUiLicenseManager.CheckoutCommuterLicense

Синтаксис Fore

CheckoutCommuterLicense(FeatureName: String): UiLicenseStatusCode;

Синтаксис Fore.NET

CheckoutCommuterLicense(FeatureName: String): Prognoz.Platform.Interop.ForeSystem.UiLicenseStatusCode;

Параметры

FeatureName. Наименование единицы лицензирования.

Описание

Метод CheckoutCommuterLicense получает локальную лицензию с сервера лицензий, которая позволяет временно использовать приложение вне сетевого окружения.

Комментарии

Метод актуален для применения, если используется сетевая лицензия, которая позволяет получать временные локальные лицензии (Network с атрибутом commuter).

По истечении периода использования лицензию необходимо вернуть на сервер лицензий с помощью метода CheckinCommuterLicense. Если на сервере лицензий единицы лицензирования имеют ограничение по количеству пользователей, то при получении временной лицензии количество одновременно работающих пользователей сокращается на одного, при возвращении лицензии количество одновременно работающих пользователей восстанавливается.

Примечание. Некоторые сетевые лицензии позволяют использовать приложение вне сетевого окружения на ограниченный срок (до 30 дней), например, для использования на ноутбуках в командировках. Для этого сетевая лицензия позволяет получить временную автономную лицензию (commuter).

Пример Fore

Для выполнения примера разместите на форме компоненты Button и Editbox с идентификаторами «Button1» и «Editbox1» соответственно, подключите системную сборку «Ui».

Пример является обработчиком события OnClick для компонента «Button1». Должна использоваться сетевая лицензия.

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var 
    LicManager: IUiLicenseManager;
    Feature: String;
    FeatureInfo: IUiLicenseFeatureInfo;
    StatusCode: UiLicenseStatusCode;
Begin
    LicManager := WinApplication.Instance.LicenseManager;
    Feature := EditBox1.Text;
    FeatureInfo:= LicManager.GetFeatureInfo(Feature);
    If FeatureInfo.CommuterAllowed Then
        StatusCode := LicManager.CheckoutCommuterLicense(Feature);
        If StatusCode = UiLicenseStatusCode.Success Then
            WinApplication.InformationBox("Лицензия взята успешно");
        Else 
            WinApplication.InformationBox(
"Ошибка: " + StatusCode.ToString);     
        End If;
    End If;
End Sub Button1OnClick;

Введите в Editbox название предустановленной единицы лицензирования, например PP_OLAP, и нажмите на кнопку. Для указанной единицы лицензирования будет получена временная локальная лицензия, если это возможно, а также будет выдано сообщение с результатом взятия временной лицензии или с кодом возникшей ошибки.

Пример Fore.NET

Для выполнения примера подключите системные сборки «Ui», «Fore», «ForeSystem». Разместите на форме компоненты Button и TextBox с идентификаторами «Button1» и «TextBox1» соответственно. Пример является обработчиком события OnClick для компонента «Button1». Результат выполнения примера Fore.NET совпадает с примером Fore.

Imports Prognoz.Platform.Interop.Ui;
Imports Prognoz.Platform.Interop.Fore;  
Imports Prognoz.Platform.Interop.ForeSystem;

...

Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var 
    WinApp: WinApplicationClassClass = New WinApplicationClassClass();
    Svc: IForeServices;
    RunContext: ForeRuntimeContext;
    LicManager: IUiLicenseManager;
    Feature: String;
    FeatureInfo: IUiLicenseFeatureInfo;
    StatusCode: UiLicenseStatusCode;
Begin
    Svc := Self.Metabase As IForeServices;
    RunContext := Svc.GetRuntime().Context;
    LicManager := WinApp.Instance[RunContext].LicenseManager;
    Feature := textBox1.Text;
    FeatureInfo:= LicManager.GetFeatureInfo(Feature);
    If FeatureInfo.CommuterAllowed Then
        StatusCode := LicManager.CheckoutCommuterLicense(Feature);
        If StatusCode = UiLicenseStatusCode.lscSuccess Then
            WinApp.InformationBox("Лицензия взята успешно"New IWin32WindowForeAdapter(Self));
        Else 
            WinApp.InformationBox("Ошибка: " + StatusCode.ToString(), New IWin32WindowForeAdapter(Self));       
        End If;
    End If;
End Sub;

См. также:

IUiLicenseManager | Варианты лицензирования