anchor.diff:      {$ENDIF}
     private
       function GetCount: Integer;
  +    /// <summary>
  +    ///   ͷеӶ
  +    ///   б
  +    /// </summary>
       procedure ClearChildren();
       procedure CheckCreateChildren;
       procedure CreateName();
  
positive.code: 
  procedure TDValueNode.CheckSetNodeType(pvType:TDValueNodeType);
  begin
    if pvType in [vntObject, vntArray] then
    begin
      CheckCreateChildren;
    end else if pvType = vntValue then
    begin
      ClearChildren;    
      if not Assigned(FName) then FName := TDValueItem.Create;
      if not Assigned(FValue) then FValue := TDValueItem.Create;
    end;
  
    FNodeType := pvType;
  end;
  
  procedure TDValueNode.Delete(pvIndex:Integer);
  
negative.code: 
  procedure TDValueNode.RemoveAll;
  begin
    ClearChildren();
  end;
  
  function TDValueNode.RemoveByName(pvName:String): Integer;
  