anchor.diff:  {$if declared(vtUnicodeString)}
         vtUnicodeString:
             Add(TSuperObject.Create(SOString(string(TVarRec(Args[j]).VUnicodeString))));
  -{$ifend}
  +{$ENDIF}
       else
         assert(false);
       end;
  
positive.code:   p: PSOChar;
  begin
    Result := CurrToStr(value);
    if {$if defined(NEED_FORMATSETTINGS)}FormatSettings.{$ifend}DecimalSeparator <> '.' then
    begin
      p := PSOChar(Result);
      while p^ <> #0 do
        if p^ <> SOChar({$if defined(NEED_FORMATSETTINGS)}FormatSettings.{$ifend}DecimalSeparator) then
        inc(p) else
        begin
          p^ := '.';
  
negative.code:   p: PSOChar;
  begin
    Result := FloatToStr(value);
    if {$if defined(NEED_FORMATSETTINGS)}FormatSettings.{$ENDIF}DecimalSeparator <> '.' then
    begin
      p := PSOChar(Result);
      while p^ <> #0 do
        if p^ <> SOChar({$if defined(NEED_FORMATSETTINGS)}FormatSettings.{$ENDIF}DecimalSeparator) then
        inc(p) else
        begin
          p^ := '.';
  