anchor.diff:      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;
  
positive.code:     function Text: RawUTF8;
    end;
  
    IDataParam = interface
    ['{2C6B41D7-CB75-488A-85D4-59CE4D5388E5}']
      function Name: string;
      function DataType: TFieldType;
      function Value: Variant;
      function IsNull: Boolean;
      function AsParam: TParam;
      function AsBCD: Currency;
      function AsBlob: TBlobData;
      function AsBoolean: Boolean;
  
negative.code:   ['{9E1AB274-707A-4770-94B9-659945547A19}']
      function Success: Boolean;
      function Data: IDataParams;
    end;
  
    IDataResultOf = interface
    ['{312900FF-997C-45D2-9FF1-5C1454CEB937}']
      function Value: IDataResult;
    end;
  
    IDataConstraint = interface
  