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

delphi – 什么可能导致编译器不生成控制台输出

发布时间:2020-12-15 09:28:07 所属栏目:大数据 来源:网络整理
导读:我有一个DUnit项目,如果我添加一些单位,将无法编译为控制台. 项目(dpr)由向导创建,并且定义了CONSOLE_TESTRUNNER. {$IFDEF CONSOLE_TESTRUNNER}{$APPTYPE CONSOLE}{$ENDIF}begin Application.Initialize; if IsConsole then // -- IsConsole is set to False
我有一个DUnit项目,如果我添加一些单位,将无法编译为控制台.
项目(dpr)由向导创建,并且定义了CONSOLE_TESTRUNNER.

{$IFDEF CONSOLE_TESTRUNNER}
{$APPTYPE CONSOLE}
{$ENDIF}

begin
  Application.Initialize;
  if IsConsole then // <-- IsConsole is set to False.
    with TextTestRunner.RunRegisteredTests do
      Free
  else
    GUITestRunner.RunRegisteredTests;
end.

使其失败的单位包括一些VCL组件,但没有对它们运行测试.
我甚至试图设置链接器选项,但它没有任何区别.
有人遇到过类似的问题吗?
只是为了澄清:这个项目是Delphi 2010中的Win32.

解决方法

该代码对我来说很好.我可以想到Delphi没有生成控制台应用程序的两个原因:

>尚未定义CONSOLE_TESTRUNNER.
>项目代码中的某处有{$APPTYPE GUI}.

我有理由相信上面第2项是您遇到问题的原因.

(编辑:李大同)

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

    推荐文章
      热点阅读