我想检查属性名称是'caption'还是'text'。在Windows或OSX中,如果通过比较字符串来做到这一点。
if (PListe^[IdxProp]^.Name = 'Caption') or (PListe^[IdxProp]^.Name = 'Text') then
在为移动设备编译时,我发现使用NEXTGEN编译器时,name属性不再是ShortString而是Byte。
如果我查看Name
中TPropInfo
的{{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定义比较(零基础字符串)名称定义为字节?