anchor.diff:    Result := DValueGetAsInt64(@FRawValue);
   end;
   
  +function TDValueItem.GetAsInterface: IInterface;
  +begin
  +  // TODO -cMM: TDValueItem.GetAsInterface default body inserted
  +  Result := DValueGetAsInterface(@FRawValue);
  +end;
  +
  +function TDValueItem.GetAsObject: TObject;
  +begin
  +  Result := DValueGetAsObject(@FRawValue);
  +end;
  +
   function TDValueItem.GetAsString: String;
   begin
     Result := DValueGetAsString(@FRawValue);
  
positive.code:         Dispose(ADValue.Value.AsStringW);
        vdtStream:
          FreeAndNil(ADValue.Value.AsStream);
        vdtArray:
          ClearArray;
      end;
  
negative.code:   DValueSetAsInt64(@FRawValue, Value);
  end;
  
  procedure TDValueItem.SetAsInterface(const Value: IInterface);
  begin
    DValueSetAsInterface(@FRawValue, Value);
  end;
  
  procedure TDValueItem.SetAsOwnerObject(const Value: TObject);
  begin
    DValueSetAsOwnerObject(@FRawValue, Value);
  end;
  
  procedure TDValueItem.SetAsString(const Value: String);
  begin
    DValueSetAsString(@FRawValue, Value);
  