gpt4 book ai didi

delphi - 条件表达式在包内是否被破坏?

转载 作者:行者123 更新时间:2023-12-03 14:49:37 26 4
gpt4 key购买 nike

考虑以下代码片段:

requires
designide,
rtl,
vcl,
{$IF RTLVersion < 19.0} // E2026 Constant expression expected
//{$IF CompilerVersion = 22.0} // same as above
vcljpg;
{$ELSE}
vclimg;
{$IFEND}

这在语法上似乎是绝对正确的。然而,编译器会卡住它并报告Constant expression Expected。这里到底发生了什么?

技术:目前仅在 XE (15.0.3953.35171) 上进行测试。

当然,也欢迎提出解决方法建议。

最佳答案

即使在 delphi 2007 中我也发现了同样的问题。作为解决方法,我使用带有条件定义的 inc 文件,然后使用 {$IFDEF} 而不是 {$IF }

类似这样

{$I MyDefines.INC}


requires
designide,
rtl,
vcl,
{$IFDEF DELPHI_XE_UP} //the DELPHI_XE_UP is defineed inside of MyDefines.INC
uNewlib;
{$ELSE}
uOldLib;
{$ENDIF}

关于delphi - 条件表达式在包内是否被破坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8305657/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com