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
しかし、私のメインフォームの直前に何が起こりますか?