关于向导的OnWizardFinish问题(老问题回顾)
我在最后一个PAGE里面的OnWizardFinish消息中不希望马上调用
return CPropertyPage::OnWizardFinish();
希望进行网络通信成功后在子定义消息处理函数里面再销毁PAGE,但是好象 CPropertyPage::OnWizardFinish();如果不在继承类的重载中调用就没有效果。各位有什么办法?谢谢
之前问过这样的问题,但是尝试后不能实现,主线程会锁死,之前的朋友提供的方法如下:
--------------------------------------------------------------------------
zhangcrony(为了不再郁闷地生活﹐我不得不郁闷地工作)
The only way is to use multi-thread to implement, I think
fzd999(花差花差) ( )
尝试着用线程来解决吧
tomcat_jb(老猫)
to happyparrot(快乐鹦鹉): 在自定义的消息函数里面再调用CPropertyPage::OnWizardFinish();不行。其他消息尝试过也不行,有ONOK什么的,WM_CLOSE也不可以。
to zhangcrony(为了不再郁闷地生活﹐我不得不郁闷地工作) :多线程也不好实现,我的界面层和通信层是分开的,也就是说,通信层接受到消息后,放入队列进行处理,通信层不关心通信的内容,只有到界面层才会DISPATCH PACKET。也就是说,我只能这样处理,在OnWizardFinish();里面启动一个线程,线程加信号锁,等待消息返回后释放线程的信号,线程结束并将另外一个信号释放.
已经修改了,只有把通信层做了一个处理,在通信线程里面,释放一个全局的信号量来控制主线程的进度。谢谢各位支持。
--------------------------------------------------------------------------
当时我总结了后觉得可以实现就结帖了,后来测试部反映当配置失败时GUI会锁死,确实,虽然我把通信放在了线程里面,但是好象还是无法将主线程激活。请各位指教,谢谢。