delphi – 向项目添加单元是从项目源中删除编译器指令

前端之家收集整理的这篇文章主要介绍了delphi – 向项目添加单元是从项目源中删除编译器指令前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这应该是这样工作还是我做错了什么?

我在我的项目源代码中有这个代码

{$IFDEF DEBUG}
  ADebugUnit,{$ELSE}
  ARelaseUnit,{$ENDIF}

我希望在调试模式下使用ADebugUnit,但在发布模式下编译时使用AReleaseUnit.当我选择向项目添加新单元时,这种方法效果很好.当我这样做时,它基本上将处理代码,并且只保留与项目当前设置的任何配置相关的单位.

例如,如果配置设置为Debug,那么在向项目添加新单元后,上面的代码将更改为:

ADebugUnit,

或者,如果我的配置设置为Release,则在添加新单元后将更改为以下内容

ARelaseUnit,

添加新单元后,我必须始终将其恢复为条件语句.有没有办法在没有添加新单元干扰的情况下实现这一目的?

解决方法

IDE拥有大部分DPR文件.小心你对它做了什么,或者你冒着你所观察到的风险(或者更糟 – 根据更改的性质,IDE有时可能决定不允许编译文件!).

除此之外,这意味着您不能有条件地在DPR文件中包含单位.你必须找到解决你试图解决的任何问题的另一种解决方案.

例如,您可以使用项目中其他位置的单元而不是DPR文件.

或者也许您可以将两个单元合并为一个,然后有条件地编译其内容.

或者也许您可以一直使用调试代码,因为这会增加您运行相同代码的机会.

或者,如果仅在使用“添加单元”对话框时出现此问题,则可以放弃该对话框并手动编辑DPR文件.正如你所注意到的那样,除了use子句被重写之外,在项目中添加一个单元背后没有别的魔力.

猜你在找的Delphi相关文章