今天演示一下在框架下制作一個測試模塊的過程
通過框架向導新建一個BPL模塊
保存工程,習慣性地把DCP,BPL輸入路徑設置好,
用戶自已編寫的模塊建議放到主程序的Module目錄下,方便管理
新建一個默認窗體,然後修改窗體使其從ERPForm裡的TfrmERPBase繼承
先是修改源文件
type
TForm2 = class(TfrmERPBase) //從ERPForm裡的TfrmERPBase繼承
private
{ Private declarations }
public
{ Public declarations }
end;
然後修改DMF文件,把object改為inherited,並清空自動生成的代碼
inherited Form2: TForm2 end
最後得到如下圖的窗體,經過這兩步,從使得窗體從界面跟代碼從TfrmERPBase繼承
接下來做個簡單的測試,擺放一個TCnAALabel和TButton控件
窗體代碼如下
unit TestForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ERPBaseForm, CnAAFont, CnAACtrls, ActnList, StdCtrls;
type
TForm2 = class(TfrmERPBase)
albl1: TCnAALabel;
btn1: TButton;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
class procedure OnClick(Sender:TObject); //添加類函數,用於菜單或按鈕點擊時調用
end;
//事件唯一標識
const GUID_TEST='{161B9D0E-53BA-4277-8A47-EDE37E23BE9A}';
var
Form2: TForm2;
implementation
uses _Sys; //添加這個引用可以方便地調用系統接口
{$R *.dfm}
{ TForm2 }
procedure TForm2.btn1Click(Sender: TObject);
begin
Sys.MessageBox.ShowMessage('Hello','TEST'); //調用了系統的消息提示接口
end;
class procedure TForm2.OnClick(Sender: TObject);
begin
//調用主程序的窗體創建接口,由主程序來創建自己
Sys.Form.CreateForm(TForm2);
end;
initialization
//添加事件注冊
Sys.EventManage.RegistEvent(GUID_TEST,TForm2.OnClick);
end.
編譯,這就生成了一個能被框架調用的模塊
然後進入系統模塊加載設置
將做好的模塊添加進去,這樣系統啟動時就會加載
再把功能注冊一下
這裡的唯一標識符就是在窗體代碼裡的設置好的
綁定功能到菜單
重開軟件,點菜單 測試3,運行效果如下