为了举例,让我们检查臭名昭著的TStrings.StrictDelimiter
:
{$IF Declared(TStrings.StrictDelimiter)}
{$MESSAGE WARN 'Beware of TStrings.StrictDelimiter which is False by default!'}
{$IFEND}
但是,
Declared
编译器内在函数在条件行:E2029 ')' expected but '.' found
上报告语法错误。 (在XE上测试) 最佳答案
不幸的是,不支持这种表达式,您必须知道在哪个RTL /编译器版本中引入了某些功能,然后使用predefined conditional symbols,例如VER<nnn>
,RTLVersion
,CompilerVersion等。