建了一个链表,使用CMutex对此链表进行互斥访问,然后在两个线程间对此链表进行修改和读取,但是在CWinApp中访问此键表时就会出错,跟踪发现以下代码中获得的m_lstMsg::CMutex中的m_hObject的值(此处为0x0000001)与CMainFrame中实际的值不相同.
Why?
BOOL CInfoBoardSystemV2App::OnIdle(LONG lCount)
{
// TODO: Add your specialized code here and/or call the base class//
if( HWND h = AfxGetMainWnd()->GetSafeHwnd() )
{
CString strMsg;
if( ( (CThreadCommunition*) AfxGetMainWnd() )->m_lstMsg.GetHeaderObject(strMsg) )
{
AddMsgToUI( strMsg );
}
}
return CWinApp::OnIdle(lCount);
}
阅读(572) | 评论(0) | 转发(0) |