“应用程序”全局变量未被识别

我使用Delphi 5编写了一个大型项目。今天,将应用程序的两个分支合并在一起后,UnitMain(主要表单的单元,你猜是否)停止识别Application全局数百个单元中的一个。

这是一个相当奇怪的问题 - 我可以通过在UnitMain中定义Application:TApplication并将其设置为来自我们的.dpr项目文件的应用程序来编译程序,但这会导致访问冲突,这并不是什么令人惊讶的是,应用程序是它的特别之处。

我希望以前有人遇到同样的问题,或者对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; 调用,错误是“需要对象或类类型”。 没有其他单位有这个问题。


我认为你最有可能在范围内有两个名为“Application”的符号,而Forms单位的符号不是活动的。 确保使用列表中的Forms单元位于任何包含名为Application的符号的先前单元之后。

但是,您需要提供更多信息。 确切的错误信息等


我很高兴看到所有的东西都能正常工作,但我会补充说明解决这些问题的另一种方法,特别是如果你不想重新安排你的使用条款,就是将单位名称作为你想使用的任何名称的前缀,例如。

Forms.Application.ProcessMessages;

文件顶部使用条款中的单位是什么? 应用程序来自“表单”单元。

例如。

unit MyUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms;
链接地址: http://www.djcxy.com/p/91099.html

上一篇: "Application" global variable not recognized

下一篇: Why can't Indy 10 initialize?