IUiLicenseManager.CheckinCommuterLicense

Синтаксис Fore

CheckinCommuterLicense(FeatureName: String): UiLicenseStatusCode;

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

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

Параметры

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

Описание

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

Комментарии

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

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

Пример 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 LicManager.IsCheckedOut(Feature) Then
        StatusCode := LicManager.CheckinCommuterLicense(Feature);
        If StatusCode = UiLicenseStatusCode.Success Then
            WinApplication.InformationBox("Лицензия возвращена успешно");
        Else
            WinApplication.InformationBox("Ошибка: " + StatusCode.ToString);
        End If;
    Else 
        WinApplication.InformationBox("Лицензия не бралась с сервера");
    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 LicManager.IsCheckedOut(Feature) Then
        StatusCode := LicManager.CheckinCommuterLicense(Feature);
        If StatusCode = UiLicenseStatusCode.lscSuccess Then
            WinApp.InformationBox("Лицензия возвращена успешно"New IWin32WindowForeAdapter(Self));
        Else
            WinApp.InformationBox("Ошибка: " + StatusCode.ToString(), New IWin32WindowForeAdapter(Self));
        End If;
    Else 
        WinApp.InformationBox("Лицензия не бралась с сервера"New IWin32WindowForeAdapter(Self));
    End If;
End Sub;

См. также:

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