AttrValue(Id: String, Var Success: Boolean): Variant;
AttrValue(System.String, System.Boolean): System.Object;
Id. Идентификатор атрибута;
Success. Признак допустимого значения атрибута. Параметр принимает значения:
True. Функция возвращает заданное значение запрашиваемого атрибута. Результат вычисления доступа зависит от возвращаемого значения атрибута;
False. Результат вычисления доступа при запрашиваемом значении атрибута не определен.
Метод AttrValue возвращает значение атрибута.
Метод задается в виде функции:
Public Class Callback:Object, IABACEvaluateCallback
Public Function AttrValueRaw(Id: String; Var Result:
Variant): Boolean;
Var
Success: Boolean;
Begin
If Id = "<идентификатор
атрибута>" Then
Result := <значение атрибута>;
Success := True;
Else
Success := False;
End If;
Return Success;
End Function AttrValueRaw;
Public Function AttrValue(Id: String; Var Success:
Boolean): Variant;
Begin
Success := False;
Return Null;
End Function AttrValue;
End Class Callback;
Public Class Callback:Object, IABACEvaluateCallback
Public Function AttrValueRaw(Id: String; Result: IntPtr): SByte;
Var
Success: SByte;
Begin
If Id = "<идентификатор
атрибута>" Then
Result := <значение
атрибута> As IntPtr;
Success := 1;
Else
Success := 0;
Result := Null As IntPtr;
End If;
Return Success;
End Function AttrValueRaw;
Public Function AttrValue(Id: String; Var Success:
Boolean): Object;
Var
Result: Object;
Begin
If Id = "<идентификатор
атрибута>" Then
Result := <значение
атрибута> As Object;
Success := True;
Else
Success := False;
Result :=0;
End If;
Return Result;
End Function AttrValue;
End Class Callback;
Если значение атрибута пустое и не задано в функции AttrValue, то вычислитель атрибутного доступа пропустит атрибут с пустым значением. Убедитесь, что у всех атрибутов задано значение или задайте проверку значений всех атрибутов в функции.
Использование метода приведено в примере для IABACEngine.Evaluate.
См. также: