<button id="bphob"><form id="bphob"></form></button>
<button id="bphob"><xmp id="bphob">
<button id="bphob"></button>
<ins id="bphob"></ins>
<form id="bphob"><button id="bphob"></button></form><button id="bphob"></button>
<form id="bphob"></form>
<form id="bphob"></form>
<xmp id="bphob"><form id="bphob"><form id="bphob"></form></form>
<xmp id="bphob"><xmp id="bphob"><form id="bphob"></form>
<xmp id="bphob"><form id="bphob"></form>
<ins id="bphob"><form id="bphob"><form id="bphob"></form></form></ins><xmp id="bphob"><form id="bphob"><button id="bphob"></button></form><xmp id="bphob"><form id="bphob"><form id="bphob"></form></form>
<xmp id="bphob">
<xmp id="bphob"><form id="bphob"><form id="bphob"></form></form>
<form id="bphob"><button id="bphob"><button id="bphob"></button></button></form><xmp id="bphob"><form id="bphob"></form><xmp id="bphob"><form id="bphob"><button id="bphob"></button></form><form id="bphob"><form id="bphob"></form></form><xmp id="bphob"><form id="bphob"></form>
<xmp id="bphob"><xmp id="bphob"><button id="bphob"></button>
<xmp id="bphob"><xmp id="bphob">
<form id="bphob"></form>
<form id="bphob"><form id="bphob"><button id="bphob"></button></form></form>
<form id="bphob"></form>
<form id="bphob"></form><xmp id="bphob"><form id="bphob"><button id="bphob"><button id="bphob"></button></button></form><xmp id="bphob">
首頁 > 編程 > Delphi > 正文

插件管理框架 for Delphi(一)

2020-01-31 20:52:40
字體:
來源:轉載
供稿:網友

插件技術的出發點主要是為了使軟件能夠靈活地進行擴展功能,而不需要對主程序(框架程序)進行重新編譯和發布。它的原理相當簡單。軟件的功能由框架程序和插件來決定。在框架程序和插件之間具有一個特定的接口,它們兩者須通過這個接口來傳遞數據或控制信息,以實現軟件功能。因此,只要符合該接口的程序(或其他功能實體),就稱為該框架程序的插件。
插件實體一般分為兩種,一種是包含邏輯的程序,比如動態庫、Exe程序等;另一種則是一組配置信息。前一種方式多見于作圖軟件,媒體播放軟件,適合實現復雜的功能;后一種方式多用于實現軟件的Skin(皮膚)功能,以及其他一些不需要進行復雜運算的功能模塊(有許多游戲軟件的關卡也是采用此種方式實現,比如阿達軟件的連連看)。
本篇給出在實現Dll插件方式框架程序的過程中,對Dll進行管理的框架程序及使用例子,作為讀者進行插件程序設計的基礎。具體而言,框架程序需要完成插件的裝載、功能調用以及卸載三類功能。
其實每個控制面板程序,都是操作系統的插件。因為每個.cpl文件就是實現了特定接口的Dll。Windows的服務程序也是如此,它也只是在原有程序的基礎上處理了特定的windows消息而已。
其實從廣義上講,每個運行在操作系統上的程序都是操作系統這個軟件的“插件”。
其實在Delphi中,已經有一個插件管理的框架,那就是bpl。采用bpl組件包的方式也可以輕松實現功能的插件化擴展。只是該方式有個缺點:不支持其他開發工具(如vb、vc++)進行插件開發。

untDllManager單元中定義了兩個基礎的類:
TDll:所有Dll類的父類,提供了裝載、卸載的相關操作;
TDllManager:Dll類的容器類。支持刪除元素方式卸載Dll實體。
以下為類圖:
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

伊朗妓女裸体处处大,乳尖乱颤娇喘连连小说,亚洲一区在线日韩在线秋葵,chinese gay 男同69,日本免费不卡在线观看的nv
<button id="bphob"><form id="bphob"></form></button>
<button id="bphob"><xmp id="bphob">
<button id="bphob"></button>
<ins id="bphob"></ins>
<form id="bphob"><button id="bphob"></button></form><button id="bphob"></button>
<form id="bphob"></form>
<form id="bphob"></form>
<xmp id="bphob"><form id="bphob"><form id="bphob"></form></form>
<xmp id="bphob"><xmp id="bphob"><form id="bphob"></form>
<xmp id="bphob"><form id="bphob"></form>
<ins id="bphob"><form id="bphob"><form id="bphob"></form></form></ins><xmp id="bphob"><form id="bphob"><button id="bphob"></button></form><xmp id="bphob"><form id="bphob"><form id="bphob"></form></form>
<xmp id="bphob">
<xmp id="bphob"><form id="bphob"><form id="bphob"></form></form>
<form id="bphob"><button id="bphob"><button id="bphob"></button></button></form><xmp id="bphob"><form id="bphob"></form><xmp id="bphob"><form id="bphob"><button id="bphob"></button></form><form id="bphob"><form id="bphob"></form></form><xmp id="bphob"><form id="bphob"></form>
<xmp id="bphob"><xmp id="bphob"><button id="bphob"></button>
<xmp id="bphob"><xmp id="bphob">
<form id="bphob"></form>
<form id="bphob"><form id="bphob"><button id="bphob"></button></form></form>
<form id="bphob"></form>
<form id="bphob"></form><xmp id="bphob"><form id="bphob"><button id="bphob"><button id="bphob"></button></button></form><xmp id="bphob">