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

德尔福 – 当我有一个新单位时,为什么’使用单位’消失了?

发布时间:2020-12-15 09:44:17 所属栏目:大数据 来源:网络整理
导读:我使用DUnit框架为我的应用程序提供了一个单元测试项目. 这个项目有一个由$IFDEF包围的单元,用于在xml文件中输出测试结果,而不是gui或者只是命令行.通过切换Build配置启用 XML_OUTPUT定义. program DelphiCodeToDoc_Tests;uses TestFramework,TextTestRunner
我使用DUnit框架为我的应用程序提供了一个单元测试项目.
这个项目有一个由$IFDEF包围的单元,用于在xml文件中输出测试结果,而不是gui或者只是命令行.通过切换Build配置启用 XML_OUTPUT定义.

program DelphiCodeToDoc_Tests;

uses
  TestFramework,TextTestRunner,Sysutils,Forms,GUITestRunner,{$IFDEF XML_OUTPUT}
  XmlTestRunner2 in 'DUnit_addonXmlTestRunner2.pas',{$ENDIF}
  DCTDSetupTests in 'IntegrationTestsDCTDSetupTests.pas',...

这非常有效.
当我从IDE(一个带有’File> New> Unit’的新单元)向该项目添加一个新单元时,问题就出现了.

测试项目现在是:

uses
  TestFramework,DCTDSetupTests in 'IntegrationTestsDCTDSetupTests.pas',...
  MyNewUnit in 'IntegrationTestsMyNewUnit.pas';

如您所见,测试XML_OUTPUT已消失…每次添加单元时,Delphi IDE都会删除此测试.

你知道我为什么以及如何避免它?

解决方法

只有实际使用的代码才会被编译到您的应用程序中,因此通常情况下,在Uses子句中使用未使用的单元并不会有什么坏处.

在IDE中运行程序时,可以看到链接到应用程序的所有代码.您应该在所有已编译的代码旁边看到蓝点.

需要注意的是,您应该检查所关注单元的初始化部分.初始化部分中的任何代码都是通过包含单元自动包含的,因为该部分中的任何代码都会在应用程序启动后立即运行.如果需要,您可以在单元的初始化部分中添加编译器指令,以避免链接和运行任何初始化代码.

(编辑:李大同)

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

    推荐文章
      热点阅读