Click here to Skip to main content
14,880,624 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Iam new to vc++. By using worker thread, iam try to send data(that can be read from the file) to view...,using UpdateAllViews().The debug assertion fails occursin updateallviews...if iam using function to send a data to view continuously with the help of worker works perfect...but iam using updateallviews means..,these error will be occured..(in DeBUG mode)..but in RELEASE mode..both r working fine..coming below is my sample code:

in Docclass
unsigned long strTemp ;


CWinThread pThreadObj;

void CFileReadDisplayDoc::OnToolbarSelectFile()
//WithoutThreadSendData() ;//my functions
WithThreadSendData() ;//my functions

void CFileReadDisplayDoc::WithoutThreadSendData()
CString m_strFileName ;
char strRead[3] ;

char strFileFilter[] = {"TEXT FILES (*.TXT) |*.TXT| DOC FILES(*.DOC) |*.DOC|ALL Files(*.*)|*.*||"} ;
CFileDialog FileDlg(TRUE, ".BMD","", 0, strFileFilter) ;
if (FileDlg.DoModal()==IDOK)
m_strFileName = FileDlg.GetFileName() ;
fTP = fopen(m_strFileName, "r") ;

unsigned long nDataVal = 0 ;
char *nStatus = NULL ;
fread(strRead,3,1,fTP) ;
strRead[2] = '\0' ;
nDataVal=strtoul(strRead, &nStatus, 10) ;
strTemp = (unsigned char)nDataVal ;
Sleep(100) ;
<b> UpdateAllViews(NULL,strTemp ,NULL) ;</b>
//here Debug assertion update all view...
//what's the solution for these type of problems...?if anyone..possible...,,?
//plz send correct code to my mail:
yuvifun(strTrackData);//for without thread send data
//fun() to send data to view

fclose(fTP) ;

//my thread

UINT DataSendThread(LPVOID ptrTPThreadParam)
{ CFileReadDisplayDoc *pdocObj = (CFileReadDisplayDoc*) ptrTPThreadParam;

return 0;

void CFileReadDisplayDoc::WithThreadSendData()
pThreadObj = AfxBeginThread(DataSendThread,this,THREAD_PRIORITY_LOWEST,0,CREATE_SUSPENDED,0) ;
pThreadObj->ResumeThread() ;

//in view.cpp

void CDisplay::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint)

unsigned char strD[2] ;
CString getv ;

strD[0] = lHint ;
getv.Format("%d",strD[0]) ;
SetDlgItemText(IDE_DDISPLAY,getv) ;

What's the solution....for Debug assertion failed error occurs in line no : 888 wincrore.cpp (while debugging it occurs in Update All Views...
post solution to my mail :

1 solution

Correctly using worker threads is tricky, please have a look at Joseph M. Newcomer's "Using Worker Threads" [^].

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900