MFC 问题对话框与多线程问题

求大虾:有一个接口A别人已经做好了,当调用A的函数时会由后台服务器系统调用B类中的函数作为响应,B类的定义我已经知道了。同时B类中的响应函数由我通过派生B类的类C中重写(... 求大虾:有一个接口A别人已经做好了,当调用A的函数时会由后台服务器系统调用B类中的函数作为响应,B类的定义我已经知道了。同时B类中的响应函数 由我通过派生B类的类C中重写(classC:public B),我想将响应函数中的结果显示到对话框里面,该怎么做呢? 展开
 我来答
超级福酱
2013-07-30 · TA获得超过476个赞
知道小有建树答主
回答量:262
采纳率:100%
帮助的人:134万
展开全部
调用借口A和对话框有什么关系吗?
追问
接口A是一个抽象类,A中的函数已经被实现了并且被封装了,但是可以看到A的定义。如果调用A中的函数 ,后台系统会自动调用B类的响应函数,这个响应函数可以由我重写并可以利用系统返回的一些参数信息,我想将这些信息返回到对话框中list中
追答
也就是说,谁调用接口A,什么时候调用你都不知道,只知道调用A后会调用你改写的B。那你的对话框是一直显示在那里吗?

如果是,简单的做法就是,通过全局变量记录对话框对象,B里面用这个全局变量把结果直接写进对话框的list里面,但这样做显然不好,程序结构不行,耦合度太高。
好点的做法:B里面完成功能得到结果后,给一个信号量发个信号。对话框里面有一个线程在等这个信号量(WaitForSingleObject),信号量被激活后,看到有结果了,自己把结果放进对话框的list里面。
不知道我理解有没有错误。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式