用VB.NET调用COM接口

时间:2011-11-22 19:57:24

标签: vb.net com

我需要调用一个函数,该函数将一个驱动器字母数组作为其参数之一。我从创建该对象的开发团队收到的示例使用VBScript,如下所示:

Array("C:","D:")

这在VB.NET中不起作用,所以我尝试了以下代码。注意:驱动器以逗号分隔的字符串传递给我:

Dim drives As String = "C,D"
Dim volumeList As String() = drives.Split(","c)
For i As Integer = 0 To volumeList.Length - 1
    volumeList(i) &= ":"
Next

然后我尝试将volumeList传递给有问题的函数,我得到一个无效的参数异常。有没有其他方法我可以尝试创建/传递此数组,以便它像VBScript示例一样?我告诉开发人员我在做什么,他说“嗯......应该有效。”所以我想弄清楚,而不必强迫这个人帮助我。

编辑:com服务器需要一个类型为variant的数组(VB6)。那就是问题所在。可悲的是,我在VB.NET中尝试的一切都失败了。

1 个答案:

答案 0 :(得分:0)

VB6变体数据类型等同于VB.Net中的对象。

Dim drives As String = "C,D"
Dim volumeList As String() = drives.Split(","c)
' Create an object array the same length as volumeList
Dim objectArray(volumeList.Length - 1) As Object
' Add the strings to the object array
For i As Integer = 0 To volumeList.Length - 1
    objectArray(i) = volumeList(i) & ":"
Next

' Now pass the object array to your function
相关问题