通过Javascript在ActiveX上使用引用参数
-
03-07-2019 - |
题
我有一个ActiveX(第三方,没有源代码),其方法具有如下参考参数:
HRESULT GetSomething(
[in] short param1,
[out] BSTR* someString);
在C ++中你可以像这样执行它:
BSTR someString = NULL
m_activeX.GetSomething(0, &someString);
我如何通过Javascript执行此操作? ActiveX中的所有其他功能都可以正常工作,但这个看起来不可能吗?如果在Javascript中不可能,它是否在VBScript中?我也没有运气。
BTW,这必须在Internet Explorer中完成
解决方案
我不能给你一个肯定的答案,但我不相信它可以做到。我希望有人会证明我错了,但这就是为什么我认为它不起作用......
在Javascript中,所有变量都按值传递。在IE中,您将创建一个ActiveXObject javascript类的实例来包装您的COM对象。即使该包装器对象可以从COM对象获取值,Javascript也无法将该值传递给您。
如果你知道你将在Windows上运行IE,你可以尝试使用vbscript而不是javascript。 Vbscript 确实支持pass-by-reference,所以你可能会更幸运。
我希望有所帮助。
其他提示
// Using javascript
var someString = activeXObj.GetSomething(0);
不隶属于 StackOverflow