在使用NEXTGEN编译器进行编译时,我们如何操作(在RTTI中)TPropInfo的Name属性?

时间:2017-04-23 17:33:51

标签: delphi firemonkey

概述

我想检查属性名称是'caption'还是'text'。在Windows或OSX中,如果通过比较字符串来做到这一点。

if (PListe^[IdxProp]^.Name = 'Caption') or (PListe^[IdxProp]^.Name = 'Text') then

在为移动设备编译时,我发现使用NEXTGEN编译器时,name属性不再是ShortString而是Byte。

如果我查看NameTPropInfo的{​​{1}}属性,System.TypInfo

Name : TSymbolName

然后我现在无法直接与字符串'text'或'caption'进行比较。我试图将'text'和'caption'字符串转换为Byte数组:

代码段

type
{$IFDEF NEXTGEN}
  TSymbolName = Byte;
{$ELSE  NEXTGEN}
  TSymbolNameBase = string[255];
  TSymbolName = type TSymbolNameBase;
{$ENDIF NEXTGEN} 

问题

如何通过NEXTGEN定义比较(零基础字符串)名称定义为字节?

0 个答案:

没有答案