我在 Delphi 5 中从事一个大型项目。今天,在将应用程序的两个分支合并在一起后,数百个单元之一, UnitMain(你猜是主窗体的单元)停止识别应用程序全局。
这是一个相当奇怪的问题——我可以通过在 UnitMain 中定义 Application: TApplication 并从我们的 .dpr 项目文件中将其设置为 Application 来编译程序,但这会导致访问冲突,这并不是什么大问题令人惊讶的是 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;调用,错误是“需要对象或类类型”。其他单位都没有这个问题。