Передача многомерного варианта массива из веб-службы .Net в Classic vb - PullRequest
0 голосов
/ 10 июня 2009

Я преобразую веб-службу набора инструментов SOAP 3 Vb в веб-службу .Net. У меня есть требование, где я хочу передать массив двумерного варианта клиенту VB. Я попробовал следующее

1. Я изучил xml, созданный инструментарием SOAP 3 для веб-службы vb, и попытался создать тот же xml, что и vb, созданный в веб-службе .Net. Почему-то Vb этого не понимал.

2. Я думал о преобразовании двумерного массива в один массив dim, а затем преобразовал его обратно в двумерный массив на стороне клиента. Проблема здесь в том, что я могу передать строку [] в vb, но не в объект []. Мне нужен вариант массива в VB.

Любые предложения ... Джай

Ответы [ 2 ]

0 голосов
/ 20 сентября 2009

Выполнены следующие действия для решения этой проблемы

Возвращает неровный массив объектов из веб-службы. Веб-сервис поддерживает неровный массив, но не многомерный массив в качестве возвращаемого типа. На стороне клиента добавлен клиент .Net, который преобразует зубчатый массив объектов обратно в двумерный массив для клиента vb.

Клиент VB получает это как двумерный массив вариантов.

Спасибо, Джай

0 голосов
/ 29 июня 2009

Мне кажется, что вы хотите передать массив объектов в функцию VB6? Параметр типа option будет принимать массив объектов. Предположим, что Class1 - это класс со свойством типа integer с именем 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...