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;

以上这就是程序创建之初时的操作

posted @ 2013-12-06 13:29  ERPSystem  阅读(2370)  评论(0编辑  收藏  举报