anchor.diff:  
   procedure DValueSetAsString(ADValue:PDValueRecord; pvString:String);
   begin
  -  
  +  CheckDValueSetType(ADValue, vdtString);
  +  ADValue.Value.AsString^ := pvString;
   end;
   
   function DValueGetAsString(ADValue:PDValueRecord): string;
  
positive.code:   case ADValue.ValueType of
      vdtString:
        Result := ADValue.Value.AsString^;
      vdtUnset:
        Result := 'default';
      vdtNull:
  
negative.code:   end;
  
    FNodeType := pvType;
  end;
  
  procedure TDValueNode.Delete(pvIndex:Integer);
  begin
    TDValueItem(FChildren[pvIndex]).Free;
    FChildren.Delete(pvIndex);
  end;
  
  function TDValueNode.FindByName(pvName:String): TDValueNode;
  