【发布时间】:2010-07-12 21:01:01
【问题描述】:
我解决了这个问题: 我使用 C# 创建 COM 对象,注册它并设法使用 powershell 使用它。 当我尝试对 JavaScript 做同样的事情时,它失败了,但是 javascript 不断抛出 object null 错误。
您对如何解决此问题有任何建议吗?或者你的 JavaScript 不支持 COM(如果支持,我在哪里可以阅读更多关于它的信息)???
非常感谢!
【问题讨论】:
-
如果你的意思是 JScript,它是 MS 的 ECMAScript 方言,它支持 ActiveX 对象。
-
但是 COM 对象(比如我创建的)不起作用?我使用 new ActiveXObject() 但它一直抛出对象 null。
-
虽然 ActiveX 是基于 COM 构建的,但它还有一些额外的概念/要求。我不知道这在 C# 中是如何工作的,但是如果没有像其他人一样显示你的暴露对象的定义可能也对你没有帮助。
-
您是否首先在 VBScript 中测试了 COM?通常 VBScript 是 COM 的事实上的(脚本语言)消费者/客户端,其他语言(JScript、Python 等)是次要的。从差异的角度来看,C/C++ 是另一个不错的选择,因为它不是脚本。如果它不能在 VBScript 或 C/C++ 中工作,它就不可能在 JScript 下工作。
-
此外,使用 C# 或 Powershell 测试从 C# 创建的 COM 组件不是一个好主意,因为它们都在 .NET 框架内。您必须在此之外测试 COM 以确保 COM 互操作或无 reg 的 COM 正常工作。所以如果不是 JScript,最好先用 VBScript 或 C/C++ 进行测试。
标签: javascript com