代码驿站移动版
频道导航
HTML/Xhtml
CSS
JavaScript
HTML5
PHP教程
ASP.NET
正则表达式
AJAX
ThinkPHP
Yii
MySQL
MariaDB
Oracle
MongoDB
Redis
DedeCMS
PHPCMS
帝国CMS
WordPress
Discuz
其它CMS
Zend Studio
Sublime
Notepad
Dreamweaver
Windows
Linux
Nginx
Apache
IIS
CentOS
Ubuntu
Debian
网站优化
工具资源
PHP源码
ASP.NET源码
其它源码
图标素材
按钮素材
字体素材
DedeCMS模板
帝国CMS模板
PHPCMS模板
WordPress模板
Discuz!模板
单页模板
开发软件下载
服务器软件下载
广告投放
联系我们
版权申明
软件编程
网页前端
移动开发
数据库
服务器
脚本语言
PHP代码
JAVA代码
Python代码
Android代码
当前位置:
主页
>
软件编程
>
Delphi代码
>
插件管理框架 for Delphi(一)
时间:2020-11-08 12:30:17 | 栏目:
Delphi代码
| 点击:次
插件技术的出发点主要是为了使软件能够灵活地进行扩展功能,而不需要对主程序(框架程序)进行重新编译和发布。它的原理相当简单。软件的功能由框架程序和插件来决定。在框架程序和插件之间具有一个特定的接口,它们两者须通过这个接口来传递数据或控制信息,以实现软件功能。因此,只要符合该接口的程序(或其他功能实体),就称为该框架程序的插件。
插件实体一般分为两种,一种是包含逻辑的程序,比如动态库、Exe程序等;另一种则是一组配置信息。前一种方式多见于作图软件,媒体播放软件,适合实现复杂的功能;后一种方式多用于实现软件的Skin(皮肤)功能,以及其他一些不需要进行复杂运算的功能模块(有许多游戏软件的关卡也是采用此种方式实现,比如阿达软件的连连看)。
本篇给出在实现Dll插件方式框架程序的过程中,对Dll进行管理的框架程序及使用例子,作为读者进行插件程序设计的基础。具体而言,框架程序需要完成插件的装载、功能调用以及卸载三类功能。
其实每个控制面板程序,都是操作系统的插件。因为每个.cpl文件就是实现了特定接口的Dll。Windows的服务程序也是如此,它也只是在原有程序的基础上处理了特定的windows消息而已。
其实从广义上讲,每个运行在操作系统上的程序都是操作系统这个软件的“插件”。
其实在Delphi中,已经有一个插件管理的框架,那就是bpl。采用bpl组件包的方式也可以轻松实现功能的插件化扩展。只是该方式有个缺点:不支持其他开发工具(如vb、vc++)进行插件开发。
)
untDllManager单元中定义了两个基础的类:
TDll:所有Dll类的父类,提供了装载、卸载的相关操作;
TDllManager:Dll类的容器类。支持删除元素方式卸载Dll实体。
以下为类图:
您可能感兴趣的文章:
Delphi下OpenGL2d绘图之初始化流程详解
修改 Delphi 10.3.3 IDE 字体和字体大小
Delphi中判断文件是否为文本文件的函数
Delphi实现判断网址是否存在及是否可以打开的方法
delphi实现保存和读取图片的方法
相关文章
01-08
Delphi解析FTP地址的方法
11-30
delphi中一个值得大家来考虑的DLL问题
11-10
Delphi 实现软件自动升级的功能
12-19
delphi建立、读取、存贮INI文件的方法《三》
10-31
delphi mysql adbquery数据提供程序或其他服务返回 E_FAIL 状态
JQuery
VUE
AngularJS
MSSql
MySQL
MongoDB
Redis
Linux
Tomcat
Nginx
网站首页
广告投放
联系我们
版权申明
联系站长