Метод объекта ActiveX имеет эту подпись.Javascript для переменной типа ActiveX
long DirectIO(long Command, long* pData, BSTR* pString)
Int32 DirectIO(Int32, Int32 ByRef, System.String ByRef)
Я пытаюсь вызвать этот метод из javascript. Я пробовал много комбинаций, но всегда получаю ошибку «Тип несоответствия».
Справочные ссылки:
- Working with "Out" Parameters in JavaScript
- calling COM method with Foo(..., [out] BSTR * value) from VBScript
VBScript "Type Mismatch" issue with "[in, out] BSTR * " parameter
https://developer.mozilla.org/en/Working_with_out_parameters
- http://blogs.msdn.com/b/ericlippert/archive/2003/09/29/53117.aspx
Так почему же VBScript создает ошибку несоответствия типа здесь? VBScript нет! Объект создает ошибку несоответствия типа, которую VBScript добросовестно сообщает. Реализация Invoke объекта вызывает реализацию по умолчанию Invoke, предоставленную вам библиотекой типов . Эта вещь говорит «У меня есть ссылка на вариант, , и этот вариант - это строка. Мне нужна ссылка на строку. Это несоответствие типа."
- http://automation-beyond.com/2009/09/01/gp-automation-utilizing-com/
- http://support.microsoft.com/kb/244012
Для тех, кто имеет дело с нисходящим потоком, добавьте комментарий о том, чего не хватает. – TJR