Anton Shchyrov created THRIFT-4461:
--------------------------------------

             Summary: Invalid compiler directive
                 Key: THRIFT-4461
                 URL: https://issues.apache.org/jira/browse/THRIFT-4461
             Project: Thrift
          Issue Type: Bug
          Components: Delphi - Library
    Affects Versions: 0.11.0
         Environment: Delphi XE3
            Reporter: Anton Shchyrov
         Attachments: Thrift.Utils.diff

In module Thrift.Utils daclared two methods

{{class function CharUtils.IsHighSurrogate( const c : Char) : Boolean;}}
{{begin}}
{{  \{$IF CompilerVersion < 23.0}}}
{{  result := Character.IsHighSurrogate( c);}}
{{  \{$ELSE}}}
{{  result := c.IsHighSurrogate();}}
{{  \{$IFEND}}}
{{end;}}
{{class function CharUtils.IsLowSurrogate( const c : Char) : Boolean;}}
{{begin}}
{{  \{$IF CompilerVersion < 23.0}}}
{{  result := Character.IsLowSurrogate( c);}}
{{  \{$ELSE}}}
{{  result := c.IsLowSurrogate;}}
{{  \{$IFEND}}}
{{end;}}

But methods Char.IsHighSurrogate()/Char.IsLowSurrogate() **appeared in Delphi 
XE4. For Delphi XE4 variable CompilerVersion equal 25.

In this way condition

{{{$IF CompilerVersion < 23.0}}}

may be changed to

{{{$IF CompilerVersion < *25.0*}}}

And access for unit *Character* may be determined through defiine symbol 
*OLD_UNIT_NAMES*



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to