将常用功能,特殊功能做成插件,方便集成到项目里,也便于代码复用
一、创建插件
用kanzi studio工具可以创建插件工程
插件工程包含两部分,插件项目和可执行程序项目
配置为GL_vs2015_Debug_DLL,运行【可执行程序项目】可以看到窗口
插件项目生成Untitled5Plugin\Application\lib\Win32\GL_vs2015_Debug_DLL\Untitled5Plugin.dll
在kanzi studio里使用Untitled5Plugin.dll,导出kzb后,可执行程序通过kzb间接加载插件。
二、将插件导入仪表HMI项目
HMI是独立的C++项目,无法像上面那样使用插件,需要采用下面的方案
2.1 配置插件项目为GL_vs2015_Debug,用于生成静态库
Application\lib\Win32\GL_vs2015_Debug\Untitled5Plugin.lib
2.2 拷贝静态库和头文件到HMI项目
HMI\Application\lib\Win32\GL_vs2015_Debug\Untitled5Plugin.lib
HMI\Application\src\untitled5plugin_module.hpp
2.3 拷贝动态库到HMI项目
HMI\Application\lib\Win32\GL_vs2015_Debug_DLL\Untitled5Plugin.dll
kanzi studio需要引入这个dll插件
2.4 配置HMI项目属性
配置vs库目录
HMI\Application\lib\Win32\GL_vs2015_Debug
配置vs链接器内容
Untitled5Plugin.dll
2.5 修改main函数代码
引入头文件,注册插件
2.6 运行时
如果运行HMI提示找不到Untitled5Plugin.dll,可以把Untitled5Plugin.dll 拷贝到HMI\Application\bin
Untitled5Plugin.lib是静态库,不需要dll,但是如果Untitled5Plugin.dll引入其他第三方库,需要把其他第三方库dll拷贝到HMI\Application\bin