ERPCore实现原理(一)
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;
以上这就是程序创建之初时的操作