我在用vb.net 写opc client遇到报错{指定数组不属于需要的类型}有没有大神给指点下
Imports OPCAutomation
Public Class Form1
Public WithEvents AutoServer As OPCServer
Public ServerIndex As Object
Public WithEvents AutoSerGroups As OPCGroups
Public WithEvents AutoSerGroup As OPCGroup
Public AutoSerItems As OPCItems
Public AutoSerItem As OPCItem
Public AutoSerBrowser As OPCBrowser
Public ss As TreeNode
Public s As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
AutoServer = New OPCServer
ServerList.Items.Clear()
Try
ServerIndex = AutoServer.GetOPCServers
Dim i As Integer
For i = LBound(ServerIndex) To UBound(ServerIndex)
ServerList.Items.Add(ServerIndex(i))
Next
ServerList.Text = ServerList.Items(0)
Catch ex As Exception
MessageBox.Show("搜索失败!!")
End Try
AutoServer = Nothing
End Sub
Private Sub sershow(ByVal node As TreeNode)
Dim i As Integer
Dim total As Integer
Dim strname() As String
AutoSerBrowser.ShowBranches()
total = AutoSerBrowser.Count
If total <= 0 Then
Else
ReDim strname(total)
For i = 1 To total
AutoSerBrowser.ShowBranches()
strname(i) = AutoSerBrowser.Item(i)
Dim nodx As TreeNode = node.Nodes.Add(strname(i))
AutoSerBrowser.MoveDown(strname(i))
sershow(nodx)
AutoSerBrowser.MoveUp()
Next
End If
End Sub
Private Sub AutoSerGroup_DataChange(ByVal TransactionID As Integer, ByVal NumItems As Integer, ByRef ClientHandles As System.Array, ByRef ItemValues As System.Array, ByRef Qualities As System.Array, ByRef TimeStamps As System.Array) Handles AutoSerGroup.DataChange
Dim id As Integer
MessageBox.Show("adm")
For i = 1 To NumItems
id = ClientHandles(i)
Dim item As ListViewItem
item = lv1.Items.Add(id)
With item
.SubItems(1) = ItemValues(i)
.SubItems(2) = Qualities(i)
.SubItems(3) = TimeStamps(i)
End With
Next
End Sub
Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
Dim sa(5) As String
Dim ct As Integer
Dim ABSPath(5) As String
If e.Node Is Nothing Then
Else
sa = e.Node.FullPath.Split("\")
For i = 1 To sa.Length - 1
ABSPath(i - 1) = sa(i)
Next
AutoSerBrowser.MoveToRoot()
AutoSerBrowser.MoveTo(ABSPath)
AutoSerBrowser.ShowLeafs()
ListBox1.Items.Clear()
ct = AutoSerBrowser.Count
For i = 1 To ct
ListBox1.Items.Add(AutoSerBrowser.Item(i))
Next
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
AutoServer = New OPCServer
MessageBox.Show("sd")
TreeView1.Nodes.Clear()
'Try
AutoServer.Connect(ServerList.Text, "") ' 建立链接
AutoSerBrowser = AutoServer.CreateBrowser '浏览数据项名字
AutoSerGroups = AutoServer.OPCGroups
AutoSerGroup = AutoSerGroups.Add("group1")
AutoSerGroup.UpdateRate = 2000
AutoSerGroup.IsActive = True
AutoSerGroup.IsSubscribed = True
AutoSerItems = AutoSerGroup.OPCItems
Dim IItemSrvHandles(10) As Object
Dim IClientHandles(10) As Object
Dim strOPCltemlDs(10) As Object
Dim Errors(10) As Object
IClientHandles(1) = 1
strOPCltemlDs(1) = "S-BUS.dd.Flag.standby.DI1"
'Catch ex As Exception
'MessageBox.Show("无法建立链接")
'End Try
Dim nodx As TreeNode = TreeView1.Nodes.Add("S-BUS")
sershow(nodx)
AutoSerGroup.OPCItems.AddItems(1,strOPCltemlDs ,IClientHandles ,IItemSrvHandles ,Errors)
End Sub
End Class
就在 AutoSerGroup.OPCItems.AddItems(1,strOPCltemlDs ,IClientHandles ,IItemSrvHandles ,Errors) 这一步上报的错
我系统win7 64位vs2010
有没有大神指点下为什么菜鸟一只