外掛程式技術的出發點主要是為了使軟體能夠靈活地進行擴充套件功能,而不需要對主程式(框架程式)進行重新編譯和發布。它的原理相當簡單www.cppcns.com。軟體的功能由框架程式和外掛程式來決定。在框架程式和外掛程式之間具有乙個特定的介面,它們兩者須通過這個介面來傳遞資料或控制資訊,以實現軟體功能。因此,只要符合該介面的程式(或其他功能實體),就稱為該框架程式的外掛程式。
外掛程式實體一般分為兩種,一種是包含邏輯的程式,比如動態庫、exe程式等;另一種則是一組配置資訊。前一種方式多見於作圖軟體,****軟體,適合實現複雜的功能;後一種方式多用於實現軟體的skin(**)功能,以及其他一些不需要進行複雜運算的功能模組(有許多遊戲軟體的關卡也是採用此種方式實現,比如阿達軟體的連連看)。
本篇給出在實現dll外掛程式方式框架程式的過程中,對dll進行管理的框架程式及使用例子,作為讀者進行外掛程式設計的基礎。具體而言,框架程式需要完成外掛程式的裝載、功能呼叫以及解除安裝三類功能。
其實每個控制面板程www.cppcns.com序,都是作業系統的外掛程式。因為每個.cpl檔案就是實現了特定介面的dll。windows的服務程式也是如此,它也只是在原有程式的基礎上處理了特定的windows訊息而已。
其實從廣義上講,每個執行在作業系統上的程式都是作業系統這個軟體的「外掛程式」。
其實在delphi中,已經有乙個外掛程式管理的框架,那就是bpl。採用bpl元件程式設計客棧包的方式也可以輕鬆實現功能的外掛程式化擴充套件。只是該方式有個缺點:不支援其他開發工具(如vb、vc++)進行外掛程式開發。程式設計客棧
)untdllmanager單元中定義了兩個基礎的類:
tdllmanager:dll類的容器類。支援刪除元素方式解除安裝dll實體。
以下為類圖:
本文標題: 外掛程式管理框架 for delphi(一)
本文位址: /ruanjian/delphi/41292.html
lml 外掛程式管理,外掛程式式框架,元件開發
lml從您當前的python環境中無縫地找到基於lml的外掛程式,然後根據需要載入外掛程式。外掛程式發現模組。它支援通過pip工具和pyinstaller安裝的外掛程式。lml.loader.scan plugins prefix,pyinstaller path,black list none,w...
構建外掛程式式的應用程式框架 五 管理外掛程式
我們現在已經搭建了外掛程式式的應用程式框架,接下來的工作就是要充實框架的內容,提供基本的服務,也就是service。我想首要的任務就是提供外掛程式的管理服務,我在前面的文章也提到了,要實現動態載入必須要知道外掛程式寄宿在 哪些要載入,哪些不載入,這些就是這篇文章要討論的問題。首先解決的就是外掛程式放...
構建外掛程式式的應用程式框架 五 管理外掛程式
我們現在已經搭建了外掛程式式的應用程式框架,接下來的工作就是要充實框架的內容,提供基本的服務,也就是service。我想首要的任務就是提供外掛程式的管理服務,我在前面的文章也提到了,要實現動態載入必須要知道外掛程式寄宿在 哪些要載入,哪些不載入,這些就是這篇文章要討論的問題。首先解決的就是外掛程式放...