私は Delphi 5 で大規模なプロジェクトに取り組んでいます。今日、アプリの 2 つのブランチをマージした後、数百のユニットの 1 つである UnitMain (メイン フォームのユニットだと思いますか) が Application グローバルの認識を停止しました。
これはかなり奇妙な問題です。UnitMain で Application: TApplication を定義し、それを .dpr プロジェクト ファイルの Application に設定することで、プログラムをコンパイルできますが、アクセス違反が発生します。アプリケーションが特別なものであることに驚きです。
誰かが以前に同じ問題に直面したことがあるか、Delphi VCL の内部の仕組みを十分に知っていて、ここで私を助けてくれることを願っています。
unit UnitMain;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ComCtrls, StdCtrls, cxButtons, ExtCtrls, IniFiles, ShellAPI,
LMDControl, LMDBaseControl, LMDBaseGraphicControl, LMDGraphicControl,
LMDScrollText, cxControls, cxContainer, cxListBox, Psock, NMFtp, db, DBTables,
FileCtrl, Configs, cxHint, DSetFunc, OleCtrls, DsInformation,
InterAppComm, ActnList, ADODB, OleServer, CRAXDRT_TLB;
正確なエラーは、コンパイラがこのユニットのアプリケーションを認識しないことです。たとえば、Application.ProcessMessages の場合。呼び出し、エラーは「オブジェクトまたはクラス タイプが必要です」です。他のどのユニットにもこの問題はありません。