COM事件处理程序的问题,请帮忙看看

whoonline 2006-09-29 03:33:12
写了一个响应COM事件的程序,可以编译通过,但是一运行就出错退出,不知道是为什么,下面是摘抄出来的COM事件处理的相关代码,请各位帮忙看下!里面的两个问题也希望各位能解答,谢谢!


#import "ConnectionCOM.tlb" named_guids, no_namespace

class CMyComSinkDlg : public CDialog
// 1)在debug目录下生成的.tlh文件里没有DIID_这样的GUID,所以这里我用了IID,不知道对不对?
, public IDispEventImpl </*nID =*/ 1, CMyComSinkDlg, &IID__IAddEvents, &LIBID_CONNECTIONCOMLib>
{
......
IAddPtr pIAdd;
......
BEGIN_SINK_MAP(CMyComSinkDlg)
// 2) 这里的nID和dispid的值是自己随意取的么?
SINK_ENTRY_EX(/*nID =*/ 1, IID__IAddEvents, /*dispid =*/ 3, OnExecute)
END_SINK_MAP()
// 这个用来响应_IAddEvents里的ExecutionOver()事件
STDMETHOD(OnExecute)(int Result);
}


BOOL CMyComSinkDlg::OnInitDialog()
{
HRESULT hr;
hr = pIAdd.CreateInstance(CLSID_Add);
DispEventAdvise(pIAdd);
// COM控件的Add函数会引发一个事件,调用_IAddEvents里的ExecutionOver函数
// 但运行到这一句时,程序就出错:unhandled exception
pIAdd->Add(25, 11);
}
...全文
251 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
LiChenYue 2006-12-04
  • 打赏
  • 举报
回复
没看懂,帮你顶一下拉!
whoonline 2006-10-04
  • 打赏
  • 举报
回复
再顶一下
whoonline 2006-09-30
  • 打赏
  • 举报
回复
顶啊,哪位帮忙看看,谢了啊

3,248

社区成员

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

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