You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Anton Shchyrov (JIRA)" <ji...@apache.org> on 2018/03/13 18:06:00 UTC
[jira] [Updated] (THRIFT-4461) Compiler directive should match
Delphi XE4
[ https://issues.apache.org/jira/browse/THRIFT-4461?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anton Shchyrov updated THRIFT-4461:
-----------------------------------
Description:
In module Thrift.Utils daclared two methods
{code:java}
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;
{code}
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*
was:
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*
> Compiler directive should match Delphi XE4
> ------------------------------------------
>
> 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
> Fix For: 0.12.0
>
> Attachments: Thrift.Utils.diff
>
>
> In module Thrift.Utils daclared two methods
>
> {code:java}
> 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;
> {code}
> 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)