
bpl插件系统
文章平均质量分 79
JavaD
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
bpl插件系统开发(3)
上篇说了一些理论的东西,现在总结一下,我们的程序发布时应该想这样子:主程序 一个完全由接口驱动的程序,它调用各种接口完成软件的功能.(当然并不是绝对的,如果你的某个功能并不需要外部来提供的化)插件s(注意,加了s复数形式) 放在同一目录下,一个完整的插件应该有两个同名文件,一个是含有实现某接口的bpl,一个是描述该插件功能的xml.主程序启动时,将加载所有的插件,在运行过程中调用某个接原创 2005-12-03 21:38:00 · 2018 阅读 · 0 评论 -
bpl插件系统开发(5)
在这样的构想下,我们来做一个demos,我们来定义如下的被IMisDriver驱动的接口,加入现在能想到的简单的应用,我们要作的工作如下定义被驱动的接口 撰写IMisDriver的一个实现,用它来驱动各个接口,IMisDriver通过调用TPluginLoader的获得接口实例. 撰写每个接口的实现,并生成多个bpl 用TPluginLoader来载入这些插件, 主程序,实例化一个TPluginL原创 2005-12-03 21:56:00 · 1859 阅读 · 1 评论 -
bpl插件系统开发(1)
半路出家的delphier一如我,对于win32api式的调用有着近乎厌恶的抵触情绪,我很早以前看c++的教程时看到lptrXXXXX的变量就头大,以至于到现在都不会用c++,都不曾写成功过那怕一个hello world程序,所以对于dll式的导出函数后面加stdcall使用右到左的参数调用方式,总觉得没有delphi的美感.再加上看到了许多bpl可以导出类,而dll很麻烦的文章,更是坚定了我原创 2005-12-03 21:36:00 · 2515 阅读 · 1 评论 -
bpl插件系统开发(2)
插件规范-----------插件必须实现一个接口,该接口通过GetObject,SetObject方法让容器和插件能够交互数据.IPlugin = interface [{48BF4000-B028-4B57-9955-B1A8305DA394}] function GetRunResult: TObject; //用于向容器返回执行Execute后的结果原创 2005-12-03 21:37:00 · 1922 阅读 · 0 评论 -
bpl插件系统开发(4)
我们可以想像这样一个系统,与mvc的思想比较相同,controller负责整个系统的调度,当用户执行了某个action后,controller将其处理后用某个特定的view来呈现给用结果.这就是mvc先看看这个图这图是我用Together6.1画的,关心的设计思想,而不是代码本省,而且together本身也不支持pascal语法生成(不知道有没有插件)其中的IMisDriver就是mvc中的T原创 2005-12-03 21:55:00 · 2042 阅读 · 1 评论