📄 subject_66245.htm
字号:
<p>
序号:66245 发表者:vcdelphi 发表日期:2003-12-23 13:33:11
<br>主题:多线程编程出现的问题。请教!
<br>内容:void CMy123Dlg::OnTimer(UINT nIDEvent) <BR>{<BR> // TODO: Add your message handler code here and/or call default<BR> CWinThread* thd;<BR> HANDLE hThd; <BR> HWND hWnd=GetSafeHwnd();<BR> thd=AfxBeginThread(threadFunc, hWnd);<BR> <BR> hThd=thd->m_hThread; <BR> WaitForMultipleObjects(1,hThd,true,INFINITE);//等待所有线程结束<BR> CDialog::OnTimer(nIDEvent);<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>
回复者:vcdelphi 回复日期:2003-12-23 13:34:36
<br>内容:运行出现错误如下:<BR>G:\新建文件夹 (2)\123\123Dlg.cpp(253) : error C2665: 'AfxBeginThread' : none of the 2 overloads can convert parameter 1 from type 'unsigned int (void *)'<BR>G:\新建文件夹 (2)\123\123Dlg.cpp(256) : error C2664: 'WaitForMultipleObjects' : cannot convert parameter 2 from 'void *' to 'void *const * '<BR> Conversion from 'void*' to pointer to non-'void' requires an explicit cast<BR>Error executing cl.exe.<BR><BR>123.exe - 2 error(s), 0 warning(s)<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>
回复者:BigJames 回复日期:2003-12-23 13:45:23
<br>内容:[1]强制类型转化就行了。<BR>[2]改成:<BR>waitformultipleobjects(&hThd, 1, true, infininte);
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:vcdelphi 回复日期:2003-12-23 14:11:39
<br>内容:不行 啊<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>
回复者:vcdelphi 回复日期:2003-12-23 14:19:19
<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>
回复者:BigJames 回复日期:2003-12-23 14:41:42
<br>内容:只能强制转换,没有别的办法。你的threadfunc的声明?你强制转换的代码?出什么错误了?<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>
回复者:vcdelphi 回复日期:2003-12-23 15:09:04
<br>内容:你在线吗<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>
回复者:vcdelphi 回复日期:2003-12-23 15:10:12
<br>内容:void CMy123Dlg::OnTimer(UINT nIDEvent) <BR>{<BR> // TODO: Add your message handler code here and/or call default<BR> CWinThread* thd;<BR> HANDLE hThd; <BR> HWND hWnd=GetSafeHwnd();<BR> thd=AfxBeginThread(threadFunc, hWnd);<BR> <BR> hThd=thd->m_hThread;<BR> WaitForSingleObject(hThd,INFINITE);//等待线程结束<BR> delete thd;//删除线程 <BR> CDialog::OnTimer(nIDEvent);<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>
回复者:vcdelphi 回复日期:2003-12-23 15:11:17
<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>
回复者:BigJames 回复日期:2003-12-23 15:18:14
<br>内容:你把代码整个发给我看看吧,就是那个163的邮箱
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:vcdelphi 回复日期:2003-12-23 15:21:14
<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>
回复者:vcdelphi 回复日期:2003-12-23 15:24: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>
回复者:BigJames 回复日期:2003-12-23 15:37:09
<br>内容:看过了,程序错的太离谱。<BR>UINT threadFunc(LPVOID p)<BR>{<BR> CMy123Dlg dlg;<BR> dlg.SendReq();<BR> return 1;<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>
回复者:vcdelphi 回复日期:2003-12-23 15:51:39
<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>
<font color=red>答案被接受</font><br>回复者:BigJames 回复日期:2003-12-23 15:59:35
<br>内容:你不是把dialog的句柄传给线程了吗?向dlg发一个自定义消息,在dlg的响应函数里作SendReq工作。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:vcdelphi 回复日期:2003-12-23 16:12:19
<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 + -