Вызов функции .NET, для которой требуется тип .NET из классического ASP - PullRequest
5 голосов
/ 03 августа 2011

Пожалуйста, помогите мне. Я пытаюсь преодолеть эту проблему за последние 2 дня, но я не могу ее преодолеть.

Мне удалось настроить среду, чтобы я мог вызывать метод .NET (через COM) с классической страницы ASP.

На самом деле все работает так, как задумано, до тех пор, пока мне не придется вызывать метод .NET, требующий тип .NET.

Итак, у меня есть метод с именем SetTableКак показано ниже

У меня есть такая функция в .Net

Public Sub SetTable(ByVal _City As City, ByVal _Country As Country)
          'doing some thing
End Sub

, и у меня есть код asp:

dim CountryUtil, City, Country
set CountryUtil= Server.CreateObject("mydll.CountryUtil")
set City= Server.CreateObject("mydll.City")
set Country = Server.CreateObject("mydll.Country")
city.id= 123
city.property = "so and so"

Country.id= 123
Country.property = "so and so"

CountryUtil.SetTable(City, Country)

'Я получаю эту ошибку здесь:

'Ошибка выполнения Microsoft VBScript' 800a0005 '' Недопустимый вызов процедуры или аргумент: 'SetTable'

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 03 августа 2011

в vbscript у вас есть только варианты, поэтому Страна и Город - это просто объекты типа варианта, а не типа Страна или Город.

вам придется изменить метод .net SetTable (или написать новый), которыйпринимает "варианты" (объект) и затем приводит эти объекты к вашим объектам .net City и Country.

0 голосов
/ 03 августа 2011

Мой VBScript немного ржавый, но разве вам не нужно писать это вместо (без паренов)?

CountryUtil.SetTable City, Country
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...