Использование ссылочного параметра в ActiveX через Javascript

StackOverflow https://stackoverflow.com/questions/800773

Вопрос

У меня есть ActiveX (сторонний, без источника) с методом, имеющим такой ссылочный параметр:

HRESULT GetSomething(
[in] short param1,
[out] BSTR* someString);

В C++ вы бы выполнили это следующим образом:

BSTR someString = NULL
m_activeX.GetSomething(0, &someString);

Как мне выполнить это через Javascript?Все остальные функции ActiveX работают нормально, а эта кажется невозможной?Если это невозможно в Javascript, это в VBScript?Мне не повезло ни в том, ни в другом.

Кстати, это нужно сделать в Internet Explorer.

Это было полезно?

Решение

Я не могу дать вам однозначный ответ, но я не верю, что это возможно.Я надеюсь, что кто-нибудь докажет мою неправоту, но вот почему я думаю, что это не сработает...

В Javascript все переменные передаются по значению.В IE вы создадите экземпляр класса JavaScript ActiveXObject для оболочки вашего COM-объекта.Даже если этот объект-оболочка может получить значение от вашего COM-объекта, в Javascript нет способа передать это значение обратно вам.

Если вы знаете, что будете работать в IE в Windows, вы можете попробовать использовать vbscript вместо javascript.Vbscript делает поддержка передачи по ссылке, так что вам может повезти с этим больше.

Надеюсь, это поможет.

Другие советы

// Using javascript
var someString = activeXObj.GetSomething(0);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top