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