为了举例,让我们检查臭名昭著的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>RTLVersionCompilerVersion等。

07-24 20:34