VC++中怎么用一个bottom去控制一个循环的数据采集过程
我用一个bool变量来改变,但是好像是因为循环的过程一直在执行,bottom按了第一次之后就不再响应了,而且整个exe好像也死了。不知到有什么方法来实现这样的过程。
[解决办法]
你在界面线程里执行循环操作当然会导致界面线程卡死,重新开一个工作线程吧
[解决办法]
线程函数的声明
UINT ThreadFunction(LPVOID lpvoid);
在你的程序里面调用,线程就创建好了,优先级和安全性这些参数可以参见MSDN
CWinThread * thread = AfxBeginThread(ThreadFunction, this);
线程函数的定义
UINT ThreadFunction(LPVOID lpvoid)
{
这里把lpvoid转换成你自己的类指针就可以编程了.
把while循环放在此处...
}
[解决办法]
还是得先看,线程方面的资料,楼主的方法有点问题
[解决办法]
一楼只是给出了一个思路
这个思路是可行的
具体的还是要动手才能行的
[解决办法]
程序卡在while上了,就算是线程函数也需要适当的sleep
个人觉得楼主的基础比较差的话,先不要接触线程,用计时器代替,会比较简单
[解决办法]
楼主在对话框的OnInitDialog()函数里加入
SetTimer(1, 延迟毫秒数, NULL);
然后加入对话框的OnTimer消息处理,把按钮里面的代码转移到OnTimer,while循环去掉
[解决办法]
这类操作肯定是通过多线程实现
你看看这篇文章
http://blog.csdn.net/xianglitian/article/details/6729851
[解决办法]