【问题标题】:Using a reference parameter on ActiveX via Javascript通过 Javascript 在 ActiveX 上使用参考参数
【发布时间】:2010-10-22 11:52:30
【问题描述】:

我有一个 ActiveX(第 3 方,无源),其方法具有如下引用参数:

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

在 C++ 中你会这样执行它:

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

我将如何通过 Javascript 执行此操作? ActiveX 中的所有其他功能都可以正常工作,但这个看起来不可能?如果在 Javascript 中不可能,是在 VBScript 中吗?我也没有运气。

顺便说一句,这必须在 Internet Explorer 中完成

【问题讨论】:

    标签: javascript com vbscript activex


    【解决方案1】:

    我不能给你一个肯定的答案,但我不相信可以做到。我希望有人能证明我错了,但这就是我认为它行不通的原因......

    在 Javascript 中,所有变量都是按值传递的。在 IE 中,您将创建一个 ActiveXObject javascript 类的实例来包装您的 COM 对象。即使该包装器对象可以从您的 COM 对象中获取值,在 Javascript 中也无法将该值传递回给您。

    如果您知道您将在 Windows 上的 IE 中运行,您可以尝试使用 vbscript 而不是 javascript。 Vbscript 确实支持传递引用,所以你可能会更幸运。

    希望对你有帮助。

    【讨论】:

      【解决方案2】:
      // Using javascript
      var someString = activeXObj.GetSomething(0);
      

      【讨论】:

      • AFAIK,这仅适用于[out, retval] 参数,不适用于[out](请参阅this question
      猜你喜欢
      • 2011-09-25
      • 1970-01-01
      • 2015-07-26
      • 2014-02-09
      • 1970-01-01
      • 2016-02-24
      • 2011-06-13
      • 2018-09-20
      • 1970-01-01
      相关资源
      最近更新 更多