求教com dll的event问题

astar 2000-03-17 06:19:00
要求:编写一个com dll,有一个方法saymsg,有一个事件beforesay,此事件在saymsg发生前发生,我该怎么写?(我已经用typelib创建好了全部接口)。请各位大虾指教!
这是tlb的部分内容
// *********************************************************************//
// DispIntf: IsaymsgEvents
// Flags: (4096) Dispatchable
// GUID: {E7032003-FC19-11D3-9CC2-0080C842D766}
// *********************************************************************//
IsaymsgEvents = dispinterface
['{E7032003-FC19-11D3-9CC2-0080C842D766}']
procedure beforesay; dispid 1;
end;
这是saymsg过程
procedure Tsaymsg.saynow;
begin
!!!!!!这里我应该加什么函数激发事件??????
'??????
messagedlg(mymsg,mtWarning,mbYesNoCancel,0)
end;
...全文
79 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
gege 2000-03-18
  • 打赏
  • 举报
回复
你好!如果你用MFC或ATL做的话,只要用APPWIZARD生成EVENT,就会包装方法
Fire_******,调用此方法即可。
如果你自己做COM SERVER,就的自己实现ConectionPointContainer,IConectionPoint。
qianqian 2000-03-18
  • 打赏
  • 举报
回复
如果你的接口是delphi生成的,这样写就可以了:
if fevent<>NIL then fevent.onbeforesay

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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