OnProgress(Current: Integer; Total: Integer);
OnProgress(System.Int32, System.Int32);
Current. Количество обработанных записей;
Total. Общее количество записей, которые будут обработаны.
Метод OnProgress реализует событие общего статуса архивации протокола доступа. Данный метод должен быть переопределен в пользовательском классе.
Для выполнения примера требуется наличие файла «AuditLog.pplog».
Добавьте ссылки на системные сборки: Metabase, ForeSystem (для примера на Fore.NET).
Class MyCallback: Object, IAuditLogArchiveCallback
Sub OnProgress(Current: Integer; Total: Integer);
Begin
Debug.WriteLine("Упаковано " + Current.ToString + " из " + Total.ToString + " записей");
End Sub OnProgress;
End Class MyCallback;
Sub UserProc;
Var
MB: IMetabase;
MS: IMetabaseSecurity;
AL: IAuditLog;
Callback: MyCallback;
Lic: Object;
Begin
MB := MetabaseClass.Active;
// Получим лицензию для возможности работы с менеджером безопасности
Lic := MB.RequestLicense(UiLicenseFeatureType.Adm);
MS := MB.Security;
// Откроем протокол доступа
Al := MS.OpenAuditLog;
Callback := New MyCallback.Create;
// Сохраним протокол доступа в файл
AL.Archive("C:\AuditLog.pplog", Callback);
// Освободим лицензию
Lic := Null;
End Sub UserProc;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.ForeSystem;
…
Public Class MyCallback: Object, IAuditLogArchiveCallback
Public Sub OnProgress(Current: Integer; Total: Integer);
Begin
System.Diagnostics.Debug.WriteLine("Упаковано " + Current.ToString() + " из " + Total.ToString() + " записей");
End Sub OnProgress;
End Class MyCallback;
Public Class Program
[STAThread]
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
MS: IMetabaseSecurity;
AL: IAuditLog;
Callback: MyCallback;
Lic: Object;
Begin
MB := Params.Metabase;
// Получим лицензию для возможности работы с менеджером безопасности
Lic := MB.RequestLicense(UiLicenseFeatureType.lftAdm);
MS := MB.Security;
// Откроем протокол доступа
Al := MS.OpenAuditLog();
Callback := New MyCallback.Create();
// Сохраним протокол доступа в файл
AL.Archive("C:\AuditLog.pplog", Callback, AuditLogArchiveFormat.alafBinary, False);
// Освободим лицензию
Lic := Null;
End Sub;
End Class;
После выполнения примера записи протокола доступа будут сохранены в файл «AuditLog.pplog». Статус сохранения будет выведен в консоль среды разработки.
См. также: