CheckoutCommuterLicense(FeatureName: String): UiLicenseStatusCode;
CheckoutCommuterLicense(System.String): Prognoz.Platform.Interop.ForeSystem.UiLicenseStatusCode;
FeatureName. Наименование единицы лицензирования.
Метод CheckoutCommuterLicense получает локальную лицензию с сервера лицензий, которая позволяет временно использовать приложение вне сетевого окружения.
Метод актуален при использовании сетевой лицензии, которая позволяет получать временные локальные лицензии.
По истечении периода использования лицензию необходимо вернуть на сервер лицензий с помощью метода ILicenseManager.CheckinCommuterLicense. Если на сервере лицензий единицы лицензирования имеют ограничение по количеству пользователей, то при получении временной лицензии количество одновременно работающих пользователей сокращается на одного, при возвращении лицензии количество одновременно работающих пользователей восстанавливается.
Примечание. Некоторые сетевые лицензии позволяют использовать приложение вне сетевого окружения до 30 дней, например, для использования на ноутбуках в командировках. Для этого сетевая лицензия позволяет получить временную локальную лицензию.
Для выполнения примера разместите на форме компоненты 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, и нажмите на кнопку. Для указанной единицы лицензирования будет получена временная локальная лицензия, если это возможно, а также будет выдано сообщение с результатом взятия временной лицензии или с кодом возникшей ошибки.
Для выполнения примера разместите на форме компоненты 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.
См. также: