0

我使用 C++ 编写了一个 COM 对象。

如果我同时执行它们(Javascript),则创建对象并连接到它的事件可以正常工作:

var obj = WScript.CreateObject("SomeCOMClass.Object", "event_");

但是,以下会生成此错误(msdn):http: //msdn.microsoft.com/en-us/library/a7tya2wc (VS.85).aspx 。

var obj = WScript.CreateObject("SomeCOMClass.Object");
WScript.ConnectObject(obj, "event_");

错误描述页面没有描述为什么我无法连接到已创建的对象。我希望能够连接到创建的对象,因为我计划从各种 C++ COM 函数返回对象。

4

1 回答 1

1

我刚刚发现 Eric Lippert 的一篇旧博客文章描述了这一点:http: //blogs.msdn.com/ericlippert/archive/2005/02/15/373330.aspx

本质上,他说你需要你的对象来实现IProvideClassInfo,或者IProvideMultipleClassInfo为了让 WScript 收集关于传出(回调)接口的类型信息,所以它可以设置一个匹配的处理程序。

于 2009-08-17T18:36:27.010 回答