com dll在作为activex控件使用时, 为何只暴露其中一个默认接口的方法

lucky2all 2003-12-03 04:05:05
我这有两个接口,一父一子,子作为默认接口,

为何在应用程序中只暴露其中一个接口(父接口)的方法?
...全文
29 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lucky2all 2003-12-04
  • 打赏
  • 举报
回复
我是这么用了,可不行啊

coclass ATLSam
{
interface IATLSam;
[default, source] dispinterface _IATLSamEvents;
[default] interface ISubATL;
};
wangweixing2000 2003-12-04
  • 打赏
  • 举报
回复
看看你的idl文件中coclass{...}里面是怎么写的,如果里面只有一个那么肯定只能暴露一个接口,eg:
coclass SPace6
{
[default] interface IAaaaa;
};
在这里面加上一句[default] interface IYour_interface;就可以了!
lucky2all 2003-12-04
  • 打赏
  • 举报
回复
描述了,现在可以了,调个位置
coclass ATLSam
{
[default, source] dispinterface _IATLSamEvents;
[default] interface ISubATL;
interface IATLSam;
};

谢谢二位
mickeyfirst 2003-12-04
  • 打赏
  • 举报
回复
在库描述之前,对子接口描述了没有?
[
object,
uuid(DF2863AB-E705-45f7-A799-65B716F8B75E),
dual,
helpstring("ISubATL Interface"),
pointer_default(unique)
]
interface ISubATL : IDispatch
{
[id(1), helpstring("method Test")] HRESULT Test();
};

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧