[ 
https://issues.apache.org/jira/browse/THRIFT-4461?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16332593#comment-16332593
 ] 

Anton Shchyrov commented on THRIFT-4461:
----------------------------------------

Full unit name System.Character. This unit added in Thrift.Utils by scheme

{{uses}}
{{ \{$IFDEF OLD_UNIT_NAMES}}}
{{ Classes, Windows, SysUtils, *Character*, SyncObjs;}}
{{ \{$ELSE}}}
{{ System.Classes, Winapi.Windows, System.SysUtils, *System.Character*, 
System.SyncObjs;}}
{{ \{$ENDIF}}}

If condition OLD_UNIT_NAMES is not defined then compiler will require fully 
unit name. And identifier Character.IsLowSurrogate will not be defined unlike 
identifier System.Character.IsLowSurrogate

> 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
>            Assignee: Jens Geyer
>            Priority: Minor
>              Labels: delphi
>         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