代码之家  ›  专栏  ›  技术社区  ›  CiscoIPPhone

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

  •  0
  • CiscoIPPhone  · 技术社区  · 16 年前

    我用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函数返回对象。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Kim Gräsman    15 年前

    我刚找到埃里克·利珀特的一篇老博客文章,描述了这一点: http://blogs.msdn.com/ericlippert/archive/2005/02/15/373330.aspx

    实际上,他说你需要你的对象来实现 IProvideClassInfo IProvideMultipleClassInfo 为了让wscript获取关于传出(回调)接口的类型信息,因此它可以设置匹配的处理程序。