anchor.diff:  
   procedure DValueSetAsString(ADValue:PDValueRecord; pvString:String);
   begin
  -  
  +  CheckDValueSetType(ADValue, vdtString);
  +  ADValue.Value.AsString^ := pvString;
   end;
   
   function DValueGetAsString(ADValue:PDValueRecord): string;
  
positive.code:   i:Integer;
  begin
    Result := -1;
    for i := 0 to FChildren.Count do
    begin
      if CompareText(Items[i].FName.AsString, pvName) = 0 then
      begin
  
negative.code:   case ADValue.ValueType of
      vdtString:
        Result := ADValue.Value.AsString^;
      vdtStringW:
        Result := ADValue.Value.AsStringW^;
      vdtUnset:
        Result := 'default';
      vdtNull:
  