我编写了一个全局函数,在线程里调用时出现错误。
Debug Assertion Failed!
File:wincore.cpp
line:980
.....
我的代码是这么写的:
void UpdateMessage(const char *buf)
{
CEdit *pmessage = (CEdit *)g_dlg->GetDlgItem(IDC_EDIT_Message);
g_dlg->m_message +=buf;
g_dlg->m_message += "\r\n";
g_dlg->UpdateData(FALSE);
//跳到最后
pmessage->LineScroll(pmessage->GetLineCount( ),0);}
UINT NbtstatThread(LPVOID param)
{
...
for (int i=0;;i++)
{
c->InsertString(0,"complete!");
UpdateMessage("ppp");
}
return 0;}
void CWDlg::OnButton3() 
{
AfxBeginThread(NbtstatThread,this->GetSafeHwnd(),THREAD_PRIORITY_NORMAL);
}
请问是什么原因造成出现这种错误?
如何解决呢?可不可以在线程里调用静态库中定义的函数?