问题描述
经过一周对OPC的研究,总算通过AsyncReadComplete对服务器数据的读取,但是现在碰到一个小小的问题,那就是OBJECT类传值不成功,请教下这个该如何传值?PrivateSharedSubMyGroup_AsyncReadComplete(ByValTransactionIDAsInteger,ByValNumItemsAsInteger,ByRefClientHandlesAsSystem.Array,ByRefItemValuesAsSystem.Array,ByRefQualitiesAsSystem.Array,ByRefTimeStampsAsSystem.Array,ByRefErrorsAsSystem.Array)HandlesMyGroup.AsyncReadCompleteDimiAsShortDimindexAsIntegerFori=1ToNumItems'数据的格式化strBuf=Format(ItemValues(I),"
解决方案二:
,000")'得到客户标识符index=ClientHandles(i)'表示数据字符串Label(index).Text=i*Space(1)&CStr(strBuf)Next通过监视模式可以看到ItemValues的值像一个二维数组,我曾将Format(ItemValues(I),"
解决方案三:
,000")改成过Format(ItemValues(1)(1),"
解决方案四:
,000")也不成功,
解决方案
解决方案五:
ItemValues是array?怎么觉得你的用法不对呢?应该这样用吧,不确定,我给的C#代码,vb.net不记得了。Arraya=newArray();a.GetValue(0);a.GetValue(0).GetType();不管怎么样,你可以测试下你取的值是什么类型?如果不是数值型,你得用val()转换为double,在模式化输出。