如何确保ActiveX类中的方法进入DLL(通过ITypeLib检查)

时间:2015-06-25 13:24:39

标签: c++ dll visual-studio-2013 com activex

在Visual Studio 2013中,我们如何确保在Javascript中可以访问ActiveX中添加的方法,并且可以在OlleView的ITypeLib

中查看

我有这种方法不会在OlleView的ITypeLib中显示,但有方法显示:

public:
    STDMETHOD(SendToREST)(BSTR resource, BSTR operation, BSTR data); // not showing
    STDMETHOD(WriteBuf)(/*[in]*/ BSTR a); // showing

我一直在regsvr32注册DLL但是方法仍未显示。

  • 我可以用什么来追踪方法没有出现的原因?
  • 是因为该方法实际上不在DLL或某些注册表中 没有更新?
  • 我应该手动将其添加到Project的IDL文件中吗? (因为我在那里看不到它)

1 个答案:

答案 0 :(得分:2)

您需要将相关方法添加到IDL中的接口。那些接口应该在库块中,或者由库块中的任何东西引用。这是将这些IDL定义编译到类型库中所必需的。然后确保已注册类型库。

C ++代码将引用IDL的衍生物,您的类将覆盖IDL接口中定义的抽象虚拟方法。这就是C ++代码与类型库定义的关联。