X3插件框架发布新版本 1.0.5
2011-02-11 17:17
288 查看
X3 C++ PluginFramework 已发布了一个新版本 V1.0.5,相对于1.0.4的改动有:
1. 支持插件延迟加载,实际用到插件的接口时才加载插件DLL
当调用了一个插件的某个接口时才自动加载该插件,首次加载该插件时会将该插件所有CLSID保存到一个XML文件中,下次运行程序时只读入CLSID而不加载插件DLL文件,这样就能加快程序启动速度。
改动了插件管理器的实现代码,接口和其余插件不受影响。
2. 对于事件驱动机制的观察者插件,也支持延迟加载
当某个改变事件触发时才去加载相应的观察者插件。
改动了插件管理器和改变通知管理器的实现代码,接口和其余插件不受影响。
3. 修正了插件管理器的几个不常用功能的缺陷
1)LoadPlugins支持绝对路径和相对路径;
2)UnloadPlugin支持不带路径或者只部分路径的文件名;
3)InitializePlugins初始化插件失败时自动卸载插件;
4)增加Ix_AppWorkPath接口,可用于自定义程序配置文件和日志文件将保存在哪个目录,例如用于Vista/Win7
假如程序为 D:\Bin\Test.exe,则配置文件为D:\Bin\Config\Test.ini,其内容如下:
[Plugins]
MyPlugin.plugin.dll==
Plugin2.plugin.dll==
这里使用两个等号表示该插件要延迟加载,而仅使用一个等号的配置将用于指定插件加载顺序(以后需要时再实现)。
这里写的插件文件名将与实际遍历查到的文件进行尾部比较,所以会存在两个部分同名的插件混淆的可能,例如“MyPlugin.plugin.dll”与“OtherMyPlugin.plugin.dll”都能匹配上,要解决这个问题可以在配置中加上路径分隔符,例如:
[Plugins]
/MyPlugin.plugin.dll==
\Plugin2.plugin.dll==
如果觉得把很多插件都写上太麻烦,可以只写“.plugin.dll==”,这样所有插件都视为延迟加载了。
源码下载地址:https://sourceforge.net/projects/x3c/files/ x3c-1.0.5.zip
问题和建议可在 https://sourceforge.net/projects/x3c/forums 上提出,谢谢。
1. 支持插件延迟加载,实际用到插件的接口时才加载插件DLL
当调用了一个插件的某个接口时才自动加载该插件,首次加载该插件时会将该插件所有CLSID保存到一个XML文件中,下次运行程序时只读入CLSID而不加载插件DLL文件,这样就能加快程序启动速度。
改动了插件管理器的实现代码,接口和其余插件不受影响。
2. 对于事件驱动机制的观察者插件,也支持延迟加载
当某个改变事件触发时才去加载相应的观察者插件。
改动了插件管理器和改变通知管理器的实现代码,接口和其余插件不受影响。
3. 修正了插件管理器的几个不常用功能的缺陷
1)LoadPlugins支持绝对路径和相对路径;
2)UnloadPlugin支持不带路径或者只部分路径的文件名;
3)InitializePlugins初始化插件失败时自动卸载插件;
4)增加Ix_AppWorkPath接口,可用于自定义程序配置文件和日志文件将保存在哪个目录,例如用于Vista/Win7
插件延迟加载使用说明
插件延迟加载需要在程序的Config目录下放一个INI文件,在其中指定哪些插件需要延迟加载。假如程序为 D:\Bin\Test.exe,则配置文件为D:\Bin\Config\Test.ini,其内容如下:
[Plugins]
MyPlugin.plugin.dll==
Plugin2.plugin.dll==
这里使用两个等号表示该插件要延迟加载,而仅使用一个等号的配置将用于指定插件加载顺序(以后需要时再实现)。
这里写的插件文件名将与实际遍历查到的文件进行尾部比较,所以会存在两个部分同名的插件混淆的可能,例如“MyPlugin.plugin.dll”与“OtherMyPlugin.plugin.dll”都能匹配上,要解决这个问题可以在配置中加上路径分隔符,例如:
[Plugins]
/MyPlugin.plugin.dll==
\Plugin2.plugin.dll==
如果觉得把很多插件都写上太麻烦,可以只写“.plugin.dll==”,这样所有插件都视为延迟加载了。
源码下载地址:https://sourceforge.net/projects/x3c/files/ x3c-1.0.5.zip
问题和建议可在 https://sourceforge.net/projects/x3c/forums 上提出,谢谢。
相关文章推荐
- X3插件框架近期计划 & 发布v1.0.11
- X3插件框架发布v1.0.9(转载)
- X3插件框架发布v1.0.10(加了命名空间)
- X3插件框架发布v1.1.3
- X3插件框架发布v1.0.9
- X3插件框架采用GCC4.5.1编译 发布v1.0.6
- Jeecg-P3 1.0版本发布,JAVA插件开发框架
- 跨平台远程框架Remoting SDK发布v9新版本,增加新的Code First服务器等功能
- X3插件框架需求收集
- 终于可以发布Delphi下收点OSGI精髓皮毛而设计的插件框架WisdomPluginFramework
- 面向领域驱动的企业级应用开发框架Apworks新版本发布
- 【版本发布】Jeecg-P3 1.0 发布,J2EE插件开发框架
- 高性能迷你React框架anujs1.0.5发布
- 发布新版本,以后专用游戏修改器通用框架不做了。
- X3插件框架--插件基础模块--使用说明
- 淘宝分布式框架Fourinone2.0新版本发布
- X3插件框架--插件基础模块--使用说明
- P3-weixin-2.0.1 版本发布,JAVA微信插件框架
- X3插件框架已在Linux x64上测试通过
- 发布新版本的JQuery验证插件(转)