我建了一个基于单文档的工程,其视图是基于对话框的。我想用线程动态改界面上的文本框的值!
UINT Thread1(LPVOID param)
{ view->m_Length=80; //CCeshiView *view
view->UpdateData(false);//问题好像出在这
return 0;
}
void CCeshiView::OnStatic1() //静态文本的单击事件
{ AfxBeginThread(Thread1,0);
}
这段程序编译时能通过,但是单击静态文本是就报错!!
好像是说非法访问!!
我只要把view->UpdateData(false);这句注释了就好了!!
求大家帮我看看了!!谢谢了!!
UINT Thread1(LPVOID param)
{ view->m_Length=80; //CCeshiView *view
view->UpdateData(false);//问题好像出在这
return 0;
}
void CCeshiView::OnStatic1() //静态文本的单击事件
{ AfxBeginThread(Thread1,0);
}
这段程序编译时能通过,但是单击静态文本是就报错!!
好像是说非法访问!!
我只要把view->UpdateData(false);这句注释了就好了!!
求大家帮我看看了!!谢谢了!!
解决方案 »
- 请教RTTI到底有什么用处
- 各位大虾们好,EVC抓窗口图,抓下来怎么是黑色的!
- VC++与mapinfo的交互通信问题
- 多thread 调用DLL 问题
- 为什么new了一个CView类最后删除的时候报错??
- 请问一下VC++跟C++builder有何区别呢?
- 请教:当对话筐大小改变时,怎么及时改变上面的画,让他随着比例改变?(在线关注)
- 疑惑!!!在线等待,立即给分!!!
- 谁能解我的问题,我给500分.
- 进期要在WIN2K平台下用VC写一个类似于代理的程序,请问那里有WIN2K平台下的抓帧的工具,就向WIN98下的NETXRAY?
- 问题:大规模三维模型利用前后遮挡关系,剔除被遮挡物体,简化绘制。
- 请教如何在VC中如何现在cmd下的发命令功能
BOOL CWnd::UpdateData(BOOL bSaveAndValidate)
{
ASSERT(::IsWindow(m_hWnd)); // calling UpdateData before DoModal? CDataExchange dx(this, bSaveAndValidate); // prevent control notifications from being dispatched during UpdateData
_AFX_THREAD_STATE* pThreadState = AfxGetThreadState();//这里
HWND hWndOldLockout = pThreadState->m_hLockoutNotifyWindow;
ASSERT(hWndOldLockout != m_hWnd); // must not recurse
pThreadState->m_hLockoutNotifyWindow = m_hWnd; BOOL bOK = FALSE; // assume failure
TRY
{
DoDataExchange(&dx);
bOK = TRUE; // it worked
}
CATCH(CUserException, e)
{
// validation failed - user already alerted, fall through
ASSERT(!bOK);
// Note: DELETE_EXCEPTION_(e) not required
}
AND_CATCH_ALL(e)
{
// validation failed due to OOM or other resource failure
e->ReportError(MB_ICONEXCLAMATION, AFX_IDP_INTERNAL_FAILURE);
ASSERT(!bOK);
DELETE_EXCEPTION(e);
}
END_CATCH_ALL pThreadState->m_hLockoutNotifyWindow = hWndOldLockout;
return bOK;
}