2.4.1 数据结果:通过流程输出或者模块输出获取数据结果的方法
描述
环境:VM4.2 + VS2013及以上
现象:方案或流程运行执行之后,就可以获取结果(建议将结果获取写在回调函数里),可以通过流程或者模块的输出获取渲染结果和数据结果,推荐使用流程的输出,符合高内聚低耦合,渲染结果通过绑定渲染控件进行显示,数据结果分为整型、浮点型、字符串型和图像型等等,VM二次开发如何获取数据结果?
解答
数据结果的获取可以通过流程的输出或者模块的输出,推荐使用通过流程的输出,符合高内聚低耦合的思想,VM4.2二次开发相比较VM4.0二次开发获取数据结果有一些更新,详细介绍如下所示:
1 通过流程的输出获取数据结果
1.1 流程配置-输出设置
1.2 获取整型、浮点型、字符串型数据
C#
VmProcedure vmprocess = (VmProcedure)VmSolution.Instance["流程1"];
var moduResult = vmprocess.ModuResult;
string str = moduResult.GetOutputInt(“out”).pIntVal[0].ToString();
string str1 = moduResult.GetOutputFloat(“out0”).pFloatVal[0].ToString();
string str2 = moduResult.GetOutputString("out1").astStringVal[0].strValue;
//获取流程结果列表,str3与str2结果一致
List<VmDynamicIODefine.IoNameInfo> ioNameInfos = VmProcess.ModuResult.GetAllOutputNameInfo();
string str3 = VmProcess.ModuResult.GetOutputString(ioNameInfos[2].Name).astStringVal[0].strValue;
1.3 获取图像数据
流程输出设置中输出IMAGE类型的图像数据,能通过前面参数名称ImageD直接获取。
C#
ImageBaseData_V2 processImageData = VmProcess1.ModuResult.GetOutputImageV2("ImageD");
int width = process