MFC 问题对话框与多线程问题
求大虾:有一个接口A别人已经做好了,当调用A的函数时会由后台服务器系统调用B类中的函数作为响应,B类的定义我已经知道了。同时B类中的响应函数由我通过派生B类的类C中重写(...
求大虾:有一个接口A别人已经做好了,当调用A的函数时会由后台服务器系统调用B类中的函数作为响应,B类的定义我已经知道了。同时B类中的响应函数 由我通过派生B类的类C中重写(classC:public B),我想将响应函数中的结果显示到对话框里面,该怎么做呢?
展开
1个回答
展开全部
调用借口A和对话框有什么关系吗?
追问
接口A是一个抽象类,A中的函数已经被实现了并且被封装了,但是可以看到A的定义。如果调用A中的函数 ,后台系统会自动调用B类的响应函数,这个响应函数可以由我重写并可以利用系统返回的一些参数信息,我想将这些信息返回到对话框中list中
追答
也就是说,谁调用接口A,什么时候调用你都不知道,只知道调用A后会调用你改写的B。那你的对话框是一直显示在那里吗?
如果是,简单的做法就是,通过全局变量记录对话框对象,B里面用这个全局变量把结果直接写进对话框的list里面,但这样做显然不好,程序结构不行,耦合度太高。
好点的做法:B里面完成功能得到结果后,给一个信号量发个信号。对话框里面有一个线程在等这个信号量(WaitForSingleObject),信号量被激活后,看到有结果了,自己把结果放进对话框的list里面。
不知道我理解有没有错误。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询