Wednesday, September 27, 2006

使 用 BCB開 發 大 型 系 統 - Package 的應用重點

◎蕭沖原創

寫這篇文章的靈感來源是來自李維在多年前的一篇注名文章:
http://www2.borland.com.tw/tw/reference9.html
裡面提到如何使用package切割子系統方便開發與管理,並可增進效能。曾經看網友提到如何把裡面的範例轉換成對應bcb的語法,因為裡面用到許多delphi才特有的一些功能,在c++裡原本沒有那些功能,比如說delphi的unit裡有initialization段、finalization段。再者delphi可以直接使用TComponentClass(VMT(Virtual Method Table)的實作)這個特別的類別來create instance。但bcb裡沒有!

★PACKAGE特點:
1/ Explicit linking時仍可以Create object from PACKAGE class。(只要在PACKAGE裡實作void my_startup(void) { RegisterClass(__classid(TXxxx)); } #pragma startup my_startup,並於呼叫端使用Application->CreateForm(FindClass("TXxxx"),&obj_ref);即可達成。)
2/ package中的global變數在同一個process上自然的就使用共享記憶體。
3/ 建立bcb之ide元件,含design time component。

No comments: