Delphi XE3、Windows 7 Pro 64bit を使用しています。私のアプリケーションは 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しかし、私のメインフォームの直前に何が起こりますか?