因为工作需要用DELPHI做了一个OCX,必须要由VC来调用.在这个OCX中使用了跨线程触发事件,后来我才知道MFC并不支持这么做.在这个OCX(ActiveXForm)里的基本流程是这样的:
1.首先有一个初始化的方法(这个方法在调用OCX时必须先调用),创建了一个TCP监听端口,自定义了一个接收数据事件指定给这个监听端口.
2.在数据接收事件中,每当接收到数据后,就创建另一个数据处理子线程,
3.在数据处理子线程中分析数据,如果数据符合条件就调用ActiveXForm的一个方法来触发指定的A事件.(这里的调用方式是在申明了一个全局的OCX对象.)这整个流程在DELPHI环境下调用OCX,A事件是能够在接收到数据后正常触发的.但是在VC里则不行.我想知道应该如何修改,才能在VC里也能够触发这个事件呢?
(参考了一些CSDN上的相关贴子,我试过在第三步时在子线程里PostMessage给OCX窗体,窗体的句柄由FindWindow来指定,但是定义在OCX窗体里的消息处理函数并没有收到任何消息.)
1.首先有一个初始化的方法(这个方法在调用OCX时必须先调用),创建了一个TCP监听端口,自定义了一个接收数据事件指定给这个监听端口.
2.在数据接收事件中,每当接收到数据后,就创建另一个数据处理子线程,
3.在数据处理子线程中分析数据,如果数据符合条件就调用ActiveXForm的一个方法来触发指定的A事件.(这里的调用方式是在申明了一个全局的OCX对象.)这整个流程在DELPHI环境下调用OCX,A事件是能够在接收到数据后正常触发的.但是在VC里则不行.我想知道应该如何修改,才能在VC里也能够触发这个事件呢?
(参考了一些CSDN上的相关贴子,我试过在第三步时在子线程里PostMessage给OCX窗体,窗体的句柄由FindWindow来指定,但是定义在OCX窗体里的消息处理函数并没有收到任何消息.)
解决方案 »
- 我是VC++新手,做不出计算器。。。不知道为什么计算出的答案显示不到编辑框上。。
- 关于穿越防火墙的TURN协议中的一个问题
- 我要做一个一对多的文件传输程序,服务端使用IOCP,不知道能够支持多少个客户端同时下载?
- 如何判断IAT被修改了没有
- 急请教CArray的赋值问题!!!!!!!!!!
- InstallShield高手请进来解决关于建立文件关联的问题
- 为什么在一个FormView窗体中设置控件的Capition为中文时,执行后显示的是乱码
- 求助:如何给一个显示控件加一个右键菜单,在线等
- 各位大虾请帮忙!高分!
- MFC下如何在响应鼠标双击时改变ListBox的背景颜色~~~~~跪求大神指导!!!
- vc的try,catch,finally 怎么写?可以举个例子吗?
- CComboBox 下拉菜单只有一个象素高!WHY?
http://www.mvps.org/vcfaq/com/11.htm
你好,再三得到你的指点,非常感激。我试过那个比较简单的方式:即通过隐藏窗口,在工作线程里发送消息后,由窗口去触发事件。但窗口的消息处理函数并没有收到任何消息,是否能给出一点详细的说明?