加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 条件表达式是否在包中被破坏?

发布时间:2020-12-15 04:10:07 所属栏目:大数据 来源:网络整理
导读:请考虑以下代码段: requires designide,rtl,vcl,{$IF RTLVersion 19.0} // E2026 Constant expression expected //{$IF CompilerVersion = 22.0} // same as above vcljpg; {$ELSE} vclimg; {$IFEND} 它似乎在语法上是正确的.但是,编译器会对其进行扼流并报
请考虑以下代码段:
requires
  designide,rtl,vcl,{$IF RTLVersion < 19.0}            // E2026 Constant expression expected
  //{$IF CompilerVersion = 22.0}     // same as above
  vcljpg;
  {$ELSE}
  vclimg;
  {$IFEND}

它似乎在语法上是正确的.但是,编译器会对其进行扼流并报告预期的Constant表达式.这里到底发生了什么?

技术:目前仅在XE(15.0.3953.35171)上测试过.

当然,也欢迎变通方法的建议.

解决方法

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

这样的事情

{$I MyDefines.INC}


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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读