我有 Delphi XE3,Windows 7 Pro 64 位。我的应用程序在我的 PC 上运行良好,但我的用户告诉我应用程序在他们的 Win XP 上启动时崩溃,在他们的 Win 7 上也(!!)。
我试图在我的 Win 7 上运行该应用程序,但以普通用户(没有管理员)身份登录 - 它可以工作。所以现在我已经用 Windows XP 安装了虚拟机,并且真的 - 应用程序在启动时崩溃了。
我需要找出可能是什么问题,但我无能为力。
至于我不能使用调试器(我没有在那个VM上安装Delphi),我试图MessageBox(0, 'Hello', 'Test', MB_OK);
在我的应用程序的各个地方放置一些来捕捉它发生的地方,这就是我发现的:
我的项目源中有这个:
MessageBox(0, 'Hello', 'Test', MB_OK); // shows OK
Application.CreateForm(TfMain, fMain);
MessageBox(0, 'Hello', 'Test', MB_OK); // doesn't show - crash before this line
这是OnCreate
我的主要形式的功能,称为fMain
:
procedure TfMain.FormCreate(Sender: TObject);
begin
MessageBox(0, 'Hello', 'Test', MB_OK); // doesn't show - crash before this line
...
那么这个应用程序会在哪里崩溃呢?
甚至没有OnCreate
执行的第一行......
我不知道......有人吗?
不知道这是否重要:我在 fMainuses
子句下interface
和下都有一些单位implementation
。我应该看那里吗?OnCreate
但是在我的主要形式之前会发生什么?