anchor.diff:      vdtString:
         Result := StrToInt64(ADValue.Value.AsString^)
     else
  -    raise EConvertError.CreateFmt(SConvertError, [QValueTypeName[ADValue.ValueType],
  -      QValueTypeName[vdtInteger]]);
  +    raise EConvertError.CreateFmt(SConvertError, [DValueTypeName[ADValue.ValueType],
  +      DValueTypeName[vdtInteger]]);
     end;
   end;
   
  
positive.code: procedure DValueSetAsStringW(ADValue:PDValueRecord; pvString:DStringW);
  function DValueGetAsStringW(ADValue:PDValueRecord): DStringW;
  
  procedure DValueSetAsOwnerObject(ADValue:PDValueRecord; pvObject:TObject);
  function DValueGetAsObject(ADValue:PDValueRecord): TObject;
  
  
negative.code: 
      function GetAsString: String;
      function GetDataType: TDValueDataType;
      procedure SetArraySize(const Value: Integer);
      procedure SetAsBoolean(const Value: Boolean);
      procedure SetAsFloat(const Value: Double);
      procedure SetAsInetger(const Value: Int64);
      procedure SetAsInterface(const Value: IInterface);
  
      procedure SetAsString(const Value: String);
  
    public
      destructor Destroy; override;
      function Equal(pvItem:TDValueItem): Boolean;
  