anchor.diff:    FChildren.Add(Result);
   end;
   
  +function TDValue.Add(const pvName: string; pvValue: TDValue): TDValue;
  +begin
  +  if pvValue = nil then Exit;
  +  CheckSetNodeType(vntObject);
  +
  +  Result := TDValue.Create();
  +  Result.CloneValueFrom(pvValue);
  +  Result.FParent := Self;
  +  Result.FName.AsString := pvName;
  +  FChildren.Add(Result);  
  +end;
  +
  +
   function TDValue.Add(const pvName: String; pvType: TDValueObjectType): TDValue;
   begin
     CheckSetNodeType(vntObject);
  
positive.code:   Result := GetDValueSize(@FRawValue);
  end;
  
  end.
  
negative.code:     function Add(const pvName: string; pvValue: Boolean): TDValue; overload;
      function Add(const pvName: string; pvValue: Double): TDValue; overload;
  
      /// <summary>
      ///  һDValue,pvValueΪnull
      /// </summary>
      function Add(const pvName: string; pvValue: TDValue): TDValue; overload;
  
      function AddVar(const pvName: string; const pvValue: Variant): TDValue;
  
  
  