1、原本逻辑是这样的,一切正常:
a、UI线程启动后,启用一个窗口X2、但是现在窗口X需要几个文件,而这几个文件还没有下载完,则需要下载完后再调用窗口X,于是就变成这样:
a、UI线程启动后,将待下载文件放进队列
b、下载完后回调原来的逻辑来处理,弹出窗口X于是问题出现了,此时窗口X处于阻塞状态,需要我们鼠标切到其他程序再切回来,窗口X才会恢复正常。
我不知道如何处理这种情况,不知道有什么解决方案?
a、UI线程启动后,启用一个窗口X2、但是现在窗口X需要几个文件,而这几个文件还没有下载完,则需要下载完后再调用窗口X,于是就变成这样:
a、UI线程启动后,将待下载文件放进队列
b、下载完后回调原来的逻辑来处理,弹出窗口X于是问题出现了,此时窗口X处于阻塞状态,需要我们鼠标切到其他程序再切回来,窗口X才会恢复正常。
我不知道如何处理这种情况,不知道有什么解决方案?
解决方案 »
- VS2010 C++ teechart控件如何实现坐标轴的移动?
- Doc类头文件中定义结构体出错
- SHGetFileInfo里SHGFI_ICONLOCATION的用法求助
- 请问高手,在单文档中如何读取ASP文件并在视图中显示出来?在线等!
- GetLastError()原理是什么?
- 超级简单,请前辈们来看 =========恭贺新禧==========
- 各路英雄,看过来,出手的时候到啦!请教QQ中转送文件功能,具体用到那些类或那些控件?
- 基于对话框的程序要关闭时,用CDialog::OnCancel()吗?谁解释一下CDialog::OnCancel()
- 有谁可以告诉我CGridCtrl具体怎么用?
- TeeChart坐标轴问题
- ListCtrl 列表控件显示文本问题
- 大虾来看下......................................
是这样的,下载没问题,但是在下载后的那个线程(应该不是UI线程),我看到里面new了一个新窗体,然后ShowModel了,我不知道是不是这个问题,已经将它提前new出来,然后里面只调用ShowModel,正在试,也不知道是否可以。
其实原则上我并没有弄出一个新线程,但是我用异步的方式来等待操作结束,然后在被唤醒的回调函数中ShowModel了
我刚刚把new移到了启动异步下载之前,但是还是一样的,所以可能跟这个new都没有什么关系。
不过我不是特别明白你的操作过程
比如你不下载东西
Sleep一段时间在调用窗口也会出现这种问题么