急!为什么在模式对话框创建后,在它的初始化函数中得不到它的句柄?我想要把它传入一个线程中去,代码如下

structRECVPARAM{SOCKETsock;HWNDhwnd;}BOOLCchatinwinDlg::OnInitDialog(){RECVPARAM*pRec... struct RECVPARAM
{
SOCKET sock;
HWND hwnd;
}
BOOL CchatinwinDlg::OnInitDialog()
{
RECVPARAM *pRecvParam = new RECVPARAM;
pRecvParam->sock = m_socket;
pRecvParam->hwnd = this->m_hWnd; (这里得不到句柄(unuse:expression connot be evaluated.))
HANDLE hThread = CreateThread(NULL,0,RecvProc,(LPVOID)pRecvParam,0,NULL);
CloseHandle(hThread);
}
}
请问问题出在哪,谢谢各位.
你是指我在CchatinwinDlg类里的HWDN成员变量写错了?
展开
 我来答
zkx23219a408
2011-01-28 · TA获得超过2743个赞
知道小有建树答主
回答量:1902
采纳率:85%
帮助的人:347万
展开全部
可能根本就是成员变量写错了。你最好查查MSDN

另外,那个RECVPARAM类型的变量放的地方好像不对。

局部变量不能在多线程的环境下担负参数任务。原因是变量作用域和堆栈空间的局限。 全局变量就不会有这种问题。

好像是这样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式