我用vc6。0中的ATL作了一个com(接口派生自IDispatch)。
我想每当我的com接受到下面传来的数据时,给com的调用程序发送一个消息或者产生一个事件,让com的调用程序调用相应的com接口函数,来得到数据。com应该如何发送消息或产生事件才能让com的调用程序接收到。请指教。最好写一段代码解释一下,谢谢。
我想每当我的com接受到下面传来的数据时,给com的调用程序发送一个消息或者产生一个事件,让com的调用程序调用相应的com接口函数,来得到数据。com应该如何发送消息或产生事件才能让com的调用程序接收到。请指教。最好写一段代码解释一下,谢谢。
解决方案 »
- 结构体数组初始化报错,急啊。
- 以前没在WIN32下直接写,今天写了下,居然有这多问题…………
- 如何获得一个字符串在屏幕上显示的宽度,即象素数?
- 散分
- VC++ 在xp系统下 安装出现问题!
- 高分请教—如何在C++里实现matlab的符号运算
- 关于调试得问题,达人入--机器dump 100分送上
- MFC里的CObArray,STL里的map,它们在析构时,会不会自动删除里面的指针所指的实例?
- 我自己派生从CWND派生了一个窗口类,怎么用把它加到对话框上啊!分不多了,以后一定再给
- 没做过控制台程序,生成一个空的
- 如何让三个停靠Bar按我的布局停靠?
- 组合框目前已经处于输入状态了,为何它不是具有焦点的控件?我用
在调用程序处需要接收WM_USER+1消息。
不知道这样是不是你希望的......或者,你可以用连接点来实现,但是需要在你生成com的时候选择支持连接点才行......
连接点的代码可以看看《ATL Internals》第11章的配套代码
具体的流程就是下位机数据->CAN总线传输->COM收到数据->COM解析数据->COM发送消息或者产生事件->调用COM程序收到消息或事件->调用COM程序调用COM的一个接口函数取得数据.这个流程是在不停的执行.我该如何发送消息和产生事件.谢谢.
如你所述,你的COM组件解析完数据后,调用连接点,比如:NotifyClient(),而这个函数的实现是在调用COM的程序中,然后你在这个函数中调用COM接口,取得数据,就OK了连接点的例子我已经说了,你可以看《ATL Internals》第11章的配套代码
http://www.codeguru.com/Cpp/COM-Tech/atl/atl/article.php/c3623/