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