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)