📄 subject_37620.htm
字号:
<p>
序号:37620 发表者:张炫 发表日期:2003-04-26 14:56:20
<br>主题:向各位请教一个关于多线程的问题。
<br>内容:在一个基于Dialog的工程中(基类名为CMulDlg)<BR>我建立了一个CWinThread* newThread=AfxBeginThread(InThread,this);<BR>有这个处理函数<BR>UINT InThread(LPVOID lParam)<BR>{<BR> CMulDlg* m_Dlg=(CMulDlg*)lParam;<BR> m_Dlg->AddOne();//AddOne是CMulDlg的public 的函数<BR>}<BR>void CMultiThreadDlg::AddOne()<BR>{<BR> UpdateData(true);<BR> int i;<BR> i=atoi(m_Number);<BR> i=i+1;<BR> m_Number.Format("%i",i);<BR> UpdateData(false);<BR>}<BR>编译就没错,但是一运行就就有错。<BR>但如果把UpdateData()两句去掉就OK了,为什么?<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:kevin 回复日期:2003-04-26 20:25:19
<br>内容:可能你还没有create对话框吧?<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-04-26 21:53:09
<br>内容:那个CMultiThreadDlg是工程的主对话框。一下始就应该已经显示的。<BR>是不是UpdateData()不能这样用?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:kevin 回复日期:2003-04-27 10:20:21
<br>内容:你在第一个UPDATEDATA上设置个断点,进去看看MFC怎么说的。要不你就不要这样实现了,想个别的办法吧,发消息什么的。
<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>回复者:hiha 回复日期:2003-04-27 11:28:09
<br>内容:我也试过种方法,好象是不行,最好还是通过发消息<BR>#define WM_UPDATE WM_USER+1000<BR><BR>建立一个CWinThread* newThread=AfxBeginThread(InThread,GetSafeHWnd());<BR><BR>UINT InThread(LPVOID lParam)<BR>{<BR> .....<BR> ::SendMessage((HWND)lParam,WM_UPDATE,0,0) ; <BR> .....<BR>}<BR>LRESULT CMultiThreadDlg::WindowProc(UINT message,WPARAM wParam,LPARAM lParam)<BR>{<BR> if (message==WM_UPDATE)<BR> {<BR> AddOne();<BR> }<BR> return CDialog::WindowProc(message,wParam,lParam);<BR>}<BR><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 + -