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,如果从检查单元的初始化代码来看这不是很明显的话。
每次我 运行 我的 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,如果从检查单元的初始化代码来看这不是很明显的话。