uTangramFramework.pas
Delphi程序的执行是从Application开始的,Application对象本是在Forms,
为了让程序支持这个框架,需要在主程序的项目文件中将Forms 改为uTangramFramework
覆盖原有的Application
uses
Windows,
uTangramFramework,
MainForm in 'MainForm.pas' {Main};
从uTangramFramework.pas的代码可以看出,基本上还是调用Forms里的Application,
只是增加了一些框架需要的初始化工作
procedure TTangramApp.CreateForm(InstanceClass: TComponentClass;
var Reference);
begin
Forms.Application.CreateForm(InstanceClass,Reference);
end;
Application创建时,初始化了模块管理对象
constructor TTangramApp.Create;
begin
FLoadModuleFromRegistry:=True;
FModuleMgr:=TModuleMgr.Create;
end;
默认情况下,框架是从注册表或者XML文件自动进行模块加载管理的,这并不符合做ERP的需要,
procedure TTangramApp.Run;
begin
if FLoadModuleFromRegistry then
begin
FModuleMgr.LoadModules;
FModuleMgr.Init;
end;
Forms.Application.Run;
FModuleMgr.final;
end;
所以将LoadModuleFromRegistry赋为False,采取手动进行模块加载管理
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.LoadModuleFromRegistry:=False;
Application.CreateForm(TMain, Main);
Application.Run;
以上这就是程序创建之初时的操作