anchor.diff:      vdtString:
         Result := StrToFloat(ADValue.Value.AsString^)
     else
  -    raise EConvertError.CreateFmt(SConvertError, [QValueTypeName[ADValue.ValueType],
  -      QValueTypeName[vdtFloat]]);
  +    raise EConvertError.CreateFmt(SConvertError, [DValueTypeName[ADValue.ValueType],
  +      DValueTypeName[vdtFloat]]);
     end;
   end;
   
  
positive.code:     vdtOwnerObject, vdtReferObject:
        TObject(ADValue.Value.AsPointer).GetInterface(IInterface, Result);
    else
      raise EConvertError.CreateFmt(SConvertError, [QValueTypeName[ADValue.ValueType],
        QValueTypeName[vdtInterface]]);
    end;
  end;
  
  
negative.code:     vdtOwnerObject, vdtReferObject:
        Result :=  TObject(ADValue.Value.AsPointer);
    else
      raise EConvertError.CreateFmt(SConvertError, [DValueTypeName[ADValue.ValueType],
        'Object']);
    end;
  end;
  