Vega Prime入门教程17.01:实现vpstat模块
Vega Prime入门教程索引:Vega Prime入门教程索引
说明
在实现自己的模块之前,先找个简单的练练手。
从dll大小来看,vpstat模块代码量最小,就从它开始。
parse stub
模块的API定义在*.xsd
文件,从xsd文件生成的代码就叫parsing stubs,一般名称为stubs.cpp
。
先生成vpstat模块的stubs.cpp,进入模块开发模式
1 |
|
模块模式界面和普通模式没什么区别,某些菜单功能不一样。
点击菜单 View -> Schema...
弹出Schema Inspector
界面
底部的mpipch.h
可以根据VS工程需要修改。
选择需要导出stubs的vpStat,然后点击Create Stubs
按钮,选择文件保存位置,导出代码,代码文件名默认为stubs.cpp
。
VS
创建一个空白dll工程,将官方提供的vpStat.h
/ vpStatCpp.h
/ vpStatLogger.h
头文件添加到工程。
将stubs.cpp添加到工程。
根据官方头文件定义的类添加实现。
开发要点在于官方提供了方便的接口简化开发流程,create/initializeClass/shutdownClass等函数都不需要自己写了。
效果
编译dll,使用自己编译的dll替换官方dll。
编译运行示例C:\Presagis\Suite22\Vega_Prime_22_0\resources\samples\vegaprime\vpstat\vpstat_logging
,运行效果基本上差不多。
结语
官方未发布过官方模块的源码,本文所示的源码是通过逆向工程获得了,仅供学习参考使用,不便公开发布。如果有学习需要可以联系我获取。
至此vpstat模块已经还原出来了,接下来搞点复杂的。
vp22的diguy模块依赖di-guy 13.2,有点老,考虑重写此模块,更新di-guy版本为13.6。