Использование ссылочного параметра в ActiveX через Javascript - PullRequest
2 голосов
/ 29 апреля 2009

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

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

В C ++ вы выполняете это так:

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

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

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

Ответы [ 2 ]

3 голосов
/ 29 апреля 2009

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

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

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

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

0 голосов
/ 02 июля 2010
// Using javascript
var someString = activeXObj.GetSomething(0);
...