anchor.diff:    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);
  
positive.code: 
      function ForceByPath(pvPath:String): TDValueNode;
  
  
      property Count: Integer read GetCount;
      property Items[Index: Integer]: TDValueNode read GetItems; default;
  
negative.code:     property AsString: String read GetAsString write SetAsString;
      property AsInetger: Int64 read GetAsInetger write SetAsInetger;
      property AsBoolean: Boolean read GetAsBoolean write SetAsBoolean;
  
  
  
      property AsInterface: IInterface read GetAsInterface write SetAsInterface;
      function GetAsObject: TObject;
      procedure SetAsOwnerObject(const Value: TObject);
      
      property DataType: TDValueDataType read GetDataType;
    end;
  
  