«Недопустимый вызов процедуры или аргумент» VBScript, вызывающий метод C # COM - PullRequest
3 голосов
/ 20 июля 2011

У меня есть приложение VBScript, вызывающее COM-зарегистрированные объекты C #.Я могу передать COM-объект в COM-вызов, а также получить обратно примитив или COM-объект, но я не могу сделать и то и другое одновременно!Если я пытаюсь извлечь какое-либо значение из вызова, одновременно передавая COM-объект, я получаю исключение «Недопустимый вызов процедуры или аргумент»

Dim foo
Set foo = Server.CreateObject("Foo")
foo.SetProperty(1)

Dim bar
Set bar = Server.CreateObject("Bar")
Dim return
Set return = bar.Do(foo)

Если последняя строка просто bar.Do(foo), она работает нормально,

Кроме того, будет ли

Set return = bar.Do(foo)

или

return = bar.Do(foo)

вызывать ту же ошибку в этом случае.

Мои COM-классы являются классами сраскрываются только методы и реализуется интерфейс.Я получаю эту ошибку, имея дело только с типами int, long и Strings.

Ответы [ 2 ]

2 голосов
/ 20 июля 2011

Я немного заржавел в этой области, но если ваш метод возвращает целое число или строку, не должен ли ваш код читать:

return = bar.Do(foo)

вместо

Set return = bar.Do(foo)
0 голосов
/ 20 июля 2011

«return = bar.Do (foo)» должно работать, пока Bar.Do действительно что-то возвращает.Как определяется Bar.Do?

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