ILicenseManager.CheckoutCommuterLicense

Синтаксис Fore

CheckoutCommuterLicense(FeatureName: String): UiLicenseStatusCode;

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

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

Параметры

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

Описание

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

Комментарии

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

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

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

Пример Fore

Для выполнения примера разместите на форме компоненты Button и Editbox с наименованиями «Button1» и «Editbox1» соответственно.

Добавьте ссылки на системные сборки: Host, Ui, Forms.

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

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    LicManager: ILicenseManager;
    Feature: String;
    FeatureInfo: ILicenseFeatureInfo;
    StatusCode: UiLicenseStatusCode;
Begin
    LicManager := WinApplication.Instance.LicenseManager;
    Feature := EditBox1.Text;
    FeatureInfo := LicManager.FeatureInfo(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

Для выполнения примера разместите на форме компоненты Button и TextBox с наименованиями «Button1» и «TextBox1» соответственно. Для TextBox установите свойство Multiline в True.

Добавьте ссылки на системные сборки: Host, Ui, Fore, ForeSystem.

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

Imports Prognoz.Platform.Interop.Host;
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: ILicenseManager;
    Feature: String;
    FeatureInfo: ILicenseFeatureInfo;
    StatusCode: UiLicenseStatusCode;
Begin
    Svc := Self.Metabase 
As IForeServices;
    RunContext := Svc.GetRuntime().Context;
    LicManager := WinApp.Instance[RunContext].LicenseManager;
    Feature := textBox1.Text;
    FeatureInfo := LicManager.FeatureInfo(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;

Результат выполнения примера Fore.NET совпадает с примером Fore.

См. также:

ILicenseManager