用包可以分模組編寫功能,方便開發階段的組織,同時也便於後期的公升級維護,使公升級的粒度越來越少(也是用了c#的類庫之後的感悟)。下面寫幾點經驗
一、不要用delphi本身的bpl,把delphi自身的包中的單元取出來,合併成乙個bpl。
二、不要直接用三方控制項的安裝包,也要自己建乙個包,把單元檔案中加進去,編譯成新包。
以上兩點可以有效避免包編譯時的錯誤 never-build package 'a' requires always-build package 'b'。
三、有時候包中寫的功能不能正常執行,老是記憶體位址錯誤,我在用dev控制項的時候就出現過兩例。
1、列印功能放在包中實現不行
2、chart圖表控制項放在包中不行
我的解決辦法是 1、將功能的實現放在主程式exe中。2、各個業務模組(bpl)通過介面呼叫主程式中的功能,將介面定義在公共單元(模組)中。
Delphi中的包(二) 關於bpl
摘自 http blog.csdn.net soobey archive 2005 08 29 467732.aspx 現在我們不得不寫自己的dpk工程,以更改地檢測我們的猜想。我們首先建立乙個project group,包含三個工程 program projectexe uses forms,wi...
Delphi中的包(三) bpl和dll
摘 自 http blog.csdn.net soobey archive 2005 08 30 468017.aspx 曾經聽說過 bpl就是一種特殊的dll 但是沒有想到這句話具有這麼大的意義。最近看到有人在屬於某個dpk的unit裡面寫export語句,覺得非常驚奇。但是遍查delphi的he...
delphi中採用bpl共享模組的幾點釋疑
1.loadpackage做了哪些事情?loadpackage的程式碼可以從delphi的原始碼 sysutils.pas 中找到 function loadpackage const name string hmodule begin result safeloadlibrary name 這裡使...