⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_66245.htm

📁 vc
💻 HTM
字号:
<p>
序号:66245 发表者:vcdelphi 发表日期:2003-12-23 13:33:11
<br>主题:多线程编程出现的问题。请教!
<br>内容:void CMy123Dlg::OnTimer(UINT nIDEvent) <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Add your message handler code here and/or call default<BR>&nbsp;&nbsp;&nbsp;&nbsp;CWinThread* thd;<BR>&nbsp;&nbsp;&nbsp;&nbsp;HANDLE hThd;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;HWND hWnd=GetSafeHwnd();<BR>&nbsp;&nbsp;&nbsp;&nbsp;thd=AfxBeginThread(threadFunc, hWnd);<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;hThd=thd-&gt;m_hThread;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;WaitForMultipleObjects(1,hThd,true,INFINITE);//等待所有线程结束<BR>&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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(&amp;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>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Add your message handler code here and/or call default<BR>&nbsp;&nbsp;&nbsp;&nbsp;CWinThread* thd;<BR>&nbsp;&nbsp;&nbsp;&nbsp;HANDLE hThd;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;HWND hWnd=GetSafeHwnd();<BR>&nbsp;&nbsp;&nbsp;&nbsp;thd=AfxBeginThread(threadFunc, hWnd);<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;hThd=thd-&gt;m_hThread;<BR>&nbsp;&nbsp;&nbsp;&nbsp;WaitForSingleObject(hThd,INFINITE);//等待线程结束<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delete thd;//删除线程&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;&nbsp;&nbsp;&nbsp;CMy123Dlg dlg;<BR>&nbsp;&nbsp;&nbsp;&nbsp;dlg.SendReq();<BR>&nbsp;&nbsp;&nbsp;&nbsp;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 + -