程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> ERPCore實現原理(一)

ERPCore實現原理(一)

編輯:Delphi

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;

以上這就是程序創建之初時的操作

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved