I work on a large project in Delphi 5. Today, after merging two branches of the app together, one of the hundreds of units, UnitMain (the main form's unit, would you guess) stopped recognizing the Application global.
This is a rather bizarre problem - I could get the program to compile by defining Application: TApplication in UnitMain, and setting that to the Application from our .dpr project file, but that leads to an access violation, which isn't much of a surprise with Application being the special thing it is.
I'm hoping someone has faced the same problem before, or knows enough of Delphi VCL's inner workings to help me out here.
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;
The exact error is that the compiler does not recognize Application in this unit. For example, for a Application.ProcessMessages; call, the error is "Object or class type required". None of the other units has this problem.