请教各位大侠:运算量大的子线程开始后,主界面控件不能响应。请问该如何解决
我编一个穷举破解密码的小程序,运算函数在子线程中运行。现在的问题是:程序开始运行后,主界面不能响应操作,只能等破解成功才可以,但是破解过程可能要几天几夜,我想用一个“暂停”按钮控制程序的运行!请问各位有什么好法子吗?急用,在线等!
不胜感激!!
问题点数:100、回复次数:8Top
1 楼darkinger(Ganger)回复于 2006-03-08 13:11:25 得分 5
在你的子线程的某个地方写一个sleep(100)嘛,应该 可以了
Top
2 楼laokaizhao(葡萄)回复于 2006-03-08 13:34:34 得分 0
多谢darkinger(Ganger),但我试了试还是不行啊,主界面仍然不响应操作Top
3 楼Atomictry(天影)回复于 2006-03-08 13:44:10 得分 5
bcb下不是有一个TranslateMessage函数吗?
Top
4 楼laokaizhao(葡萄)回复于 2006-03-08 14:12:04 得分 0
Atomictry(天影)兄可否说的详细白一些,我刚查了bcb的帮助,里面没有您说的TranslateMessage 函数啊!Top
5 楼hai1039(天下)回复于 2006-03-08 14:14:34 得分 50
每过几百毫秒调用一次Application->ProcessMessage();Top
6 楼kwokwinglau(每天前进1%)回复于 2006-03-08 14:23:20 得分 35
在子线程中加入:Application->PorcessMessage();试试.Top
7 楼cczlp(不惑)回复于 2006-03-08 14:50:01 得分 5
线程不应该影响到主界面的. 不要在线程中对主界面进行操作Top
8 楼laokaizhao(葡萄)回复于 2006-03-08 16:35:06 得分 0
非常感谢 hai1039(天下)和kwokwinglau(每天前进一点)及提供帮助的各位仁兄!按照各位指示问题已解决!Thanks a lots!Top




