插件管理框架 for Delphi(一)

所属分类: 软件编程 / Delphi 阅读数: 59
收藏 0 赞 0 分享

插件技术的出发点主要是为了使软件能够灵活地进行扩展功能,而不需要对主程序(框架程序)进行重新编译和发布。它的原理相当简单。软件的功能由框架程序和插件来决定。在框架程序和插件之间具有一个特定的接口,它们两者须通过这个接口来传递数据或控制信息,以实现软件功能。因此,只要符合该接口的程序(或其他功能实体),就称为该框架程序的插件。
插件实体一般分为两种,一种是包含逻辑的程序,比如动态库、Exe程序等;另一种则是一组配置信息。前一种方式多见于作图软件,媒体播放软件,适合实现复杂的功能;后一种方式多用于实现软件的Skin(皮肤)功能,以及其他一些不需要进行复杂运算的功能模块(有许多游戏软件的关卡也是采用此种方式实现,比如阿达软件的连连看)。
本篇给出在实现Dll插件方式框架程序的过程中,对Dll进行管理的框架程序及使用例子,作为读者进行插件程序设计的基础。具体而言,框架程序需要完成插件的装载、功能调用以及卸载三类功能。
其实每个控制面板程序,都是操作系统的插件。因为每个.cpl文件就是实现了特定接口的Dll。Windows的服务程序也是如此,它也只是在原有程序的基础上处理了特定的windows消息而已。
其实从广义上讲,每个运行在操作系统上的程序都是操作系统这个软件的“插件”。
其实在Delphi中,已经有一个插件管理的框架,那就是bpl。采用bpl组件包的方式也可以轻松实现功能的插件化扩展。只是该方式有个缺点:不支持其他开发工具(如vb、vc++)进行插件开发。

untDllManager单元中定义了两个基础的类:
TDll:所有Dll类的父类,提供了装载、卸载的相关操作;
TDllManager:Dll类的容器类。支持删除元素方式卸载Dll实体。
以下为类图:
更多精彩内容其他人还在看

Delphi之Pascal语言中的关键字及保留字汇总

这篇文章主要介绍了Delphi之Pascal语言中的关键字及保留字汇总,需要的朋友可以参考下
收藏 0 赞 0 分享

Delphi实现图片滚动切换的完整实例代码

这篇文章主要介绍了Delphi实现图片滚动切换的完整实例代码,通过本实例,读者可以进一步掌握Delphi控件及图形处理的技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Delphi实现图像文本旋转特效完整实例代码

这篇文章主要介绍了Delphi实现图像文本旋转特效完整实例代码,对于帮助读者进一步理解Delphi图形及文字特效的处理有一定的借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Delphi实现限定软件使用时间的方法

这篇文章主要介绍了Delphi实现限定软件使用时间的方法,商业软件开发中非常实用的功能,需要的朋友可以参考下
收藏 0 赞 0 分享

在Delphi实现在数据库中存取图像的图文演示无错

最近打算学习Delphi实现在数据库中存取图像,网上的好多Delphi实现在数据库中存取图像都是错误的,所以我把图片给弄好了。
收藏 0 赞 0 分享

delphi建立、读取、存贮INI文件的方法《三》

控制INI文件几法要利用.INI文件做程序有关数据的存储工作,就需要能读和写.INI文件,所以列了如下方法给大家参考:
收藏 0 赞 0 分享

delphi建立、读取、存贮INI文件的方法《二》

内容: 要利用.INI文件做程序有关数据的存储工作,就需要能读和写.INI 文件,所以列了如下方法给大家参考:
收藏 0 赞 0 分享

Delphi建立、读取、存贮INI文件的方法《一》

内容: INI文件在系统配置及应用程序参数保存与设置方面,具有很重要的作用,所以可视化的编程一族,如VB、VC、VFP、Delphi等都提供了读写INI文件的方法,其中Delphi中操作INI文件,最为简洁,这是因为Delphi6.0提供了一个TInifile类,使我们可以非常
收藏 0 赞 0 分享

插件管理框架 for Delphi(一)

插件管理框架 for Delphi许多软件采用“插件”(PlugIns)来扩展其功能,比如PhotoShop所支持的各类滤镜就是插件;我们所熟知的Winamp,也有许多皮肤以及可视效果插件。再有微软的windows media player,以及QQ,冲浪软件Opera……采用插
收藏 0 赞 0 分享

插件管理框架 for Delphi(二)

插件管理框架2.2 实现代码
收藏 0 赞 0 分享
查看更多