请教:在VB中调用opcitems.item(index)出错! 点击:1139 | 回复:2



初涉江湖

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 3回
  • 年度积分:0
  • 历史总积分:27
  • 注册:2005年8月03日
发表于:2005-09-01 00:09:00
楼主
各位好! 我是一个OPC的初学者,最近学习用VB编写OPC客户端程序,引用opcdaauto.dll,在测试时遇到一个问题: 当我利用 objitems.additem()方法添加了一个item后,用以下方法连接该item项 dim objItem as opcItem set objItem = objItems.Item(TagID) 当执行到这一步时程序报错: “ 实时错误'5':无效的过程调用或参数 ” 但在逐步执行调试状态中把“set objItem = objItems.Item(TagID)”复制到立即窗口中执行却是成功的!! 请问各位高手,这是什么原因?如何解决?谢谢!!



我是啊铎

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 33回
  • 年度积分:0
  • 历史总积分:55
  • 注册:2005年5月02日
发表于:2005-09-01 14:26:00
1楼
你用一个窗体还是几个窗体啊?这个错误经常说明可能是你的OBJITEMS没有植,或者是你括号里面的有问题,你看看我的吧,我的是能运行的,而且我用的有些变量是其他窗体的,所以前面有窗体名字,你参考参考吧: Set Module1.myitems = frmaddGroup.mygroup.OPCItems For i = 1 To List1.ListCount lclienthandles(i) = i stritemids(i) = List1.List(i - 1) Next i Call myitems.AddItems(List1.ListCount, stritemids, lclienthandles, _ Module1.lserverhandles, rerrors)

初涉江湖

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 3回
  • 年度积分:0
  • 历史总积分:27
  • 注册:2005年8月03日
发表于:2005-09-01 17:37:00
2楼
我只用了一个窗体,我用additems方法是没问题的,但如果用additem方法添加一个item,然后用 set objItem = objItems.Item(TagID) 就出错了,括号里的TagID是没问题的。 多谢指教!

热门招聘
相关主题

官方公众号

智造工程师