将多维变体数组从.Net Web服务传递到Classic vb

时间:2009-06-10 06:02:15

标签: web-services vb6 soap

我正在将SOAP工具包3 Vb Web服务转换为.Net Web服务。我有一个要求,我希望将二维变量数组传递给vb客户端。我尝试了以下

1。 我查看了SOAP工具包3为vb web服务器生成的xml,并尝试生成与.Net Web服务中生成的vb完全相同的xml。出于某种原因,Vb不明白这一点。

2。 我想过将2-d数组转换为单个dim数组,然后将其转换回客户端的2 d数组。这里的问题是我可以将string []传递给vb而不是object []。我在vb中需要一个变量数组。

任何建议...... 洁

2 个答案:

答案 0 :(得分:0)

听起来我想将一组对象传递给VB6函数? variant类型的参数将接受一个对象数组。假设Class1是一个具有整数类型属性的类,名为“SomeProperty”:

Private Sub Form_Load()

  Dim arrayOfObjects(3, 3) As New Class1

  arrayOfObjects(0, 0).SomeProperty = 0
  arrayOfObjects(1, 1).SomeProperty = 1
  arrayOfObjects(2, 2).SomeProperty = 2

  foo arrayOfObjects()


End Sub

Private Function foo(incomingArray As Variant)

  Debug.Print incomingArray(0, 0).SomeProperty
  Debug.Print incomingArray(1, 1).SomeProperty
  Debug.Print incomingArray(2, 2).SomeProperty

End Function

答案 1 :(得分:0)

执行以下操作来解决此问题

从Web服务返回一个锯齿状的对象数组。 Web服务支持锯齿状数组,但不支持多维数组作为返回类型。在客户端添加了.Net客户端,它将锯齿状的对象数组转换回二维数组到vb客户端。

VB客户端将此作为变量的二维数组接收。

谢谢, 洁