IOperationCallback.OnOperation

Синтаксис

OnOperation(Operation: Integer; O1: Variant; O2: Variant: Var State: Integer);

Параметры

Operation - тип операции. Данный параметр не используется.

O1 - объект, содержащий фильтр протокола доступа.

O2 - объект, содержащий фильтр протокола доступа.

State - результат разрешения конфликта. Определяется перечислением CallbackOperationState.

Описание

Метод OnOperation выполняет действия, необходимые для разрешения конфликта.

Пример

Для выполнения примера предполагается наличие файла «C:\Filter.xml», содержащего более одного фильтра протокола доступа.

Class MyOperationCallback: OperationCallback

Parent: IWin32Window;

 

Public Sub OnOperation(Operation: Integer; O1: Variant; O2: Variant; Var State: Integer);

Var

YesPress: Boolean;

Begin

YesPress := False;

If WinApplication.YesNoCancelBox("Заменить наименование '" + (O1 As IAuditFilterObject).Name + "' на '" + (O2 As IAuditFilterObject).Name + "'?", YesPress)

Then

State := YesPress ? CallbackOperationState.Replace : CallbackOperationState.Skip;

Else

State := CallbackOperationState.Stop;

End If;

End Sub OnOperation;

 

End Class MyOperationCallback;

 

Sub Main;

Var

FilCon, FilConDef: IAuditFiltersContainer;

FilObj, FilObjDef: IAuditFilterObject;

par: Integer;

Begin

FilCon := New AuditFiltersContainer.Create;

FilCon.LoadFromFile("C:\Filter.xml");

FilCon.Callback := New MyOperationCallback.Create;

FilConDef := New AuditFiltersContainer.Create;

FilConDef.Load;

FilCon.Callback.OnOperation(0, FilCon.Filters.Item(1), FilConDef.Filters.Item(0), par);

If par = 1 Then

FilObj := FilCon.Filters.Item(1).Edit;

FilObjDef := FilConDef.Filters.Item(0);

FilObj.Name := FilObjDef.Name;

FilObj.Save;

FilCon.SaveToFile("C:\NameRepl.xml");

End If;

End Sub Main;

При выполнении примера, будет сгенерирован конфликт при загрузке файла. Пользователю будет предложено решение конфликта.

См. также:

IOperationCallback