用DLL方式封裝MDI子窗體。

2021-04-01 01:37:25 字數 835 閱讀 9411

用dll方式封裝mdi子窗體是一種常用的軟體開發技術,它的優點:

開發人員可以負責某乙個模組的編寫包括(介面+邏輯),可以互不干擾,模組開發完成後,主程式統一呼叫。

易於程式公升級,當程式公升級時,不用編譯主exe檔案,更新某個dll就可以公升級。

可以根據客戶不同的需求、價錢給他們不同的模組。(奸商都願意用這招)

最近用到這個技術,因為小弟沒有用過,在網上google了一下,對它有了了解,我用的是基於***的dll,下面總結如下:

想在dll中封裝mdi子窗體,要注意以下幾點:

你要重寫dll入口函式

需要注意的就這麼多,下面結合例子看看(假設你已經建立了工程):

這是createmdiform方法的實現:

if not ge***iform(form1) then        //ge***iform 是判斷窗體是否已經建立

begin

form1 := tform1.create(af);        //建立子窗體

form1.formstyle := f**dichild;

form1.show;

end;

end;

procedure dllunloadproc(reason: integer); register;

begin

if (reason = dll_process_detach) or (reason = dll_thread_detach) then

這樣就實現了dll封裝mdi子窗體,當然你要在子窗體上進行比如:資料庫的操作,還要有更豐富的介面,肯定會遇到各種問題。以後總結了再說吧!^_^

在dll初始化的位置加入:

DLL方式封裝MDI子窗體是一種常用的軟體開發技術

dll方式封裝mdi子窗體是一種常用的軟體開發技術,它的優點 人員可以負責某乙個模組的編寫包括 介面 邏輯 可以互不干擾,模組開發完成後,主程式統一呼叫。程式公升級,當程式公升級時,不用編譯主exe檔案,更新某個dll就可以公升級。可以根據客戶不同的需求 價錢給他們不同的模組。奸商都願意用這招 用到...

MDI 啟用子窗體的方法

最近做乙個小應用程式,用到了mdi。以前看到過.net mdi有發生memoryleak的問題,沒想到在.net 3.5裡依然存在。查了下資料,說是在有gridview窗體重畫時,容易導致記憶體洩露。因此在show的外面套上了 suspendlayout 和 resumelayout。目前為止還沒再...

MDI父窗體和子窗體之間怎麼傳值?

主要的思想就是,通過成員變數和構造器初始化來傳值 父窗體 public partial class main form form public datatable allinsdt private void button1 click object sender,eventargs e form1 ...