Delphi 7 启动时打开cmd

Delphi 7 open a cmd when start

每次我 运行 我的 Delphi 应用程序,一个 'cmd' window 打开,我的一些用户抱怨这个 window,说它使他们的计算机崩溃,我想了解为什么这个 cmd window 打开,以及如何让它不打开。

我的.dpr文件是这样的

... 
Frm05715 in 'fontes\Frm05715.pas' {Form05715}, 
Frm99903 in 'fontes\Frm99903.pas' {Form99903}; 
{$R *.res} 
begin 
Application.Initialize; 
... 
Application.Run; 

并且 cmd window 在 Application.Initialize 之前打开,这是 运行s

的第一行

正如我在评论中解释的那样,调试它的一种方法是在 .Dpr 文件中的 Application.Run 上放置一个断点。

如果 cmd window 在断点触发之前打开,则 cmd window 很可能在您的其中一个单元的初始化代码中打开,这将很容易调试。您可以按照我对 .

的回答中的步骤进行操作

如果您检查 System.Pas 中 InitUnits 中的 Count 变量的值,您可能会惊讶它有多高,通常超过 200。但是,您可以使用二进制搜索通过在行上放置断点来快速识别有罪的单元

TProc(P)();

并将其初始通过计数设置为 count / 2。一旦确定了有问题的单元,就可以使用调试器的 Trace into (F7) 命令来确定启动 Cmd window,如果从检查单元的初始化代码来看这不是很明显的话。