为什么创建后无法连接到 COM 对象事件?

发布于 2024-07-15 00:17:30 字数 557 浏览 6 评论 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 函数返回对象。

I have written a COM object using C++.

Creating the object and connecting to its events works fine if I do them both at the same time (Javascript):

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

However the following generates this error (msdn): http://msdn.microsoft.com/en-us/library/a7tya2wc(VS.85).aspx.

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

The error description page does not describe why I cannot connect to already created objects. I would like to be able to connect to created objects because I plan on returning objects from various C++ COM functions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

亚希 2024-07-22 00:17:32

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

本质上,他说你需要你的对象实现 IProvideClassInfoIProvideMultipleClassInfo 以便 WScript 收集有关 2005/02/15/373330.aspx 的类型信息传出(回调)接口,因此可以设置匹配的处理程序。

I just found an old blog post by Eric Lippert describing this:
http://blogs.msdn.com/ericlippert/archive/2005/02/15/373330.aspx

Essentially, he says you need your objects to implement IProvideClassInfo or IProvideMultipleClassInfo in order for WScript to harvest type info about the outgoing (callback) interfaces, so it can set up a matching handler.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文