LicenseRequest(FeatureName: String; Var License: ILicense; [Settings: ILicenseRequestSettings = Null]): UiLicenseStatusCode;
FeatureName. Наименование единицы лицензирования;
License. Лицензия.
Settings. Объект для работы с единицей лицензирования.
Метод LicenseRequest проверяет наличие заданной единицы лицензирования в лицензии и возвращает результат проверки.
Параметр FeatureName должен принимать пустое значение, если параметр Settings передаёт тип единицы лицензирования с помощью свойства ILicenseRequestSettings.FeatureType.
Проверка единицы лицензирования выполняется для сетевой лицензии.
После завершения работы с лицензируемым блоком лицензию необходимо освободить с помощью ILicense.LicenseRelease, то есть удалить объект с лицензией.
Для выполнения примера добавьте ссылку на системную сборку Host.
Sub UserProc;
Var
LicManager: ILicenseManager;
Feature: String;
Lic: ILicense;
StatusCode: UiLicenseStatusCode;
Settings: ILicenseRequestSettings;
Begin
LicManager := New LicenseManager.Create;
//Feature := "PP_ETL";
Settings := New LicenseRequestSettings.Create;
Settings.FeatureType := UiLicenseFeatureType.ETL;
//StatusCode := LicManager.RequestLicense(Feature, Lic);
StatusCode := LicManager.RequestLicense("", Lic, Settings);
If StatusCode <> UiLicenseStatusCode.Success Then
// обработка ошибок лицензирования
//...
Else
Debug.WriteLine("Ошибок лицензирования нет");
End If;
//Работа с лицензируемым блоком
//...
//После завершения работы освобождаем лицензию
If Lic <> Null Then
Lic.LicenseRelease;
End If;
End Sub UserProc;
В результате выполнения примера будет запрошена единица лицензирования PP_ETL. Если при проверке статуса лицензии не появились ошибки, то в консоль будет выдано соответствующее сообщение.
См. также: