anchor.diff:      function AsSmallInt: LongInt;
       function AsMemo: string;
       function AsString: string;
  -    function AsWideString: WideString;
       function AsTime: TDateTime;
       function AsWord: LongInt;
  +  end;
  +
  +  IDataValueOf = interface
  +  ['{95B46B49-3B55-44BA-ADD9-EAC7C91B68C5}']
  +    function Value: IDataValue;
  +  end;
  +
  +  IDataParam = interface(IDataValue)
  +  ['{2C6B41D7-CB75-488A-85D4-59CE4D5388E5}']
  +    function AsParam: TParam;
  +  end;
  +
  +  IDataParamOf = interface
  +  ['{58CDF012-C58C-4AC2-9A95-6E1CC1745237}']
  +    function Value: IDataParam;
     end;
   
     IDataParams = interface
  
positive.code:   ['{9E1AB274-707A-4770-94B9-659945547A19}']
      function Success: Boolean;
      function Data: IDataParams;
    end;
  
    IDataConstraint = interface
  
negative.code:     function AsString: string; overload;
    end;
  
    IDataParamsOf = interface
    ['{D4471122-05CA-46D1-A3E7-95BCB7245406}']
      function Values: IDataParams;
    end;
  
    IDataGuid = interface
    ['{F7269A91-B5E7-4067-BB8E-8712BC99EE08}']
      function Value: TGuid;
  