📄 subject_63642.htm
字号:
<p>
序号:63642 发表者:最后一根稻草 发表日期:2003-12-05 09:35:58
<br>主题:多线程AfxBeginThread的应用(错误求助)
<br>内容:有一个进度条,我想用线程来控制它,经过反复努力,终于能够编绎通过了,却在运行的时候出现了严重错误,我刚接触线程,高手指教。<BR> m_progress1.SetRange(0,180);<BR> m_progress1.SetPos(0);<BR> m_progress1.SetStep(10);//对进度条1的初始化<BR><BR>定义一个全局函数:<BR>UINT button1Proc(LPVOID pParam )<BR>{<BR><BR> for(int i=0;i<18;i++)<BR> {<BR><BR> dlg.m_progress1.StepIt();<BR> Sleep(500);<BR> }<BR> <BR> dlg.m_progress1.SetPos(0);<BR> return 0;<BR><BR>}<BR>定义一个消息响应函数:<BR><BR>void CDlg::OnButton1() <BR>{<BR> HWND hWnd=GetSafeHwnd();<BR> AfxBeginThread(button1Proc,hWnd,THREAD_PRIORITY_NORMAL);<BR>}<BR>然后运行的时候拼命的错,类似于非法操作的类型。
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:BigJames 回复日期:2003-12-05 14:49:23
<br>内容:不能够在thread里直接调用dlg的和窗口有关的操作。你可以定义一个消息,在thread里向dlg发消息<BR>把dlg 的hwnd传给线程。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:元元 回复日期:2003-12-05 18:29:12
<br>内容:我帮你改动如下,你自己去测试吧!,你应该传CDlg的指针进去。<BR>UINT button1Proc(LPVOID pParam )<BR>{<BR> CDlg *pDlg = (CDlg*)pParam;<BR> for(int i=0;i<18;i++)<BR> {<BR> <BR> pDlg->m_progress1.StepIt();<BR> Sleep(500);<BR> }<BR> <BR> pDlg->m_progress1.SetPos(0);<BR> return 0;<BR> <BR>}<BR>void CDlg::OnButton1() <BR>{<BR> AfxBeginThread(button1Proc,this,THREAD_PRIORITY_NORMAL); <BR>}<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:最后一根稻草 回复日期:2003-12-13 08:29:51
<br>内容:谢谢,但如果连续按几下,然后关闭程序,就会出现异常情况,是不是线程没有正常退出的缘故,该怎样退出呢?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:青蛙网子 回复日期:2003-12-13 22:19:52
<br>内容:你连续按按钮,按了几次就多了几个线程,而你并没有结束他的生命。。。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -