Vega Prime入门教程17.01:实现vpstat模块

Vega Prime入门教程索引:Vega Prime入门教程索引

说明

在实现自己的模块之前,先找个简单的练练手。

从dll大小来看,vpstat模块代码量最小,就从它开始。

parse stub

模块的API定义在*.xsd文件,从xsd文件生成的代码就叫parsing stubs,一般名称为stubs.cpp

先生成vpstat模块的stubs.cpp,进入模块开发模式

1
LynxPrime.exe -d

模块模式界面和普通模式没什么区别,某些菜单功能不一样。

Lynx Prime

点击菜单 View -> Schema...

schema菜单

弹出Schema Inspector界面

schema inspecotr

底部的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。


Vega Prime入门教程17.01:实现vpstat模块
https://blog.jackeylea.com/vegaprime/how-to-develop-vegaprime-vpstat-module/
作者
JackeyLea
发布于
2024年12月5日
许可协议