void CMFC_TaskingDoc::SuspendSpinner(int nIndex, BOOL bSuspend)
{
if (!bSuspend)
{
if (m_pSpinThread[nIndex])
{
HANDLE hThread=m_pSpinThread[nIndex]->m_hThread;
::WaitForSingleObject(hThread,INFINITE);
}
}
else
{
int iSpnr;
switch(nIndex)
{
case 0:
iSpnr=1;
break;
case 1:
iSpnr=3;
break;
}
m_pSpinThread[nIndex]=AfxBeginThread(ThreadFunc,(LPVOID)&m_cSpin[iSpnr]);////////这局有错误!说是第一个参数传递错误!
}}UINT CMFC_TaskingDoc::ThreadFunc(LPVOID pParam)
{
CSpinner *lpSpin=(CSpinner*)pParam;
BOOL *pbContinue=lpSpin->GetContinue();
while (*pbContinue)
{
lpSpin->Draw();
}
return 0;
}
error C2665: 'AfxBeginThread' : none of the 2 overloads can convert parameter 1 from type 'unsigned int (void *)'
请问为什么啊?还有怎么解决?顺便问一下!如果把SuspendSpinner 加上static 也会有5个错误为什么啊?谢谢!
{
if (!bSuspend)
{
if (m_pSpinThread[nIndex])
{
HANDLE hThread=m_pSpinThread[nIndex]->m_hThread;
::WaitForSingleObject(hThread,INFINITE);
}
}
else
{
int iSpnr;
switch(nIndex)
{
case 0:
iSpnr=1;
break;
case 1:
iSpnr=3;
break;
}
m_pSpinThread[nIndex]=AfxBeginThread(ThreadFunc,(LPVOID)&m_cSpin[iSpnr]);////////这局有错误!说是第一个参数传递错误!
}}UINT CMFC_TaskingDoc::ThreadFunc(LPVOID pParam)
{
CSpinner *lpSpin=(CSpinner*)pParam;
BOOL *pbContinue=lpSpin->GetContinue();
while (*pbContinue)
{
lpSpin->Draw();
}
return 0;
}
error C2665: 'AfxBeginThread' : none of the 2 overloads can convert parameter 1 from type 'unsigned int (void *)'
请问为什么啊?还有怎么解决?顺便问一下!如果把SuspendSpinner 加上static 也会有5个错误为什么啊?谢谢!
AfxBeginThread((AFX_THREADPROC)ThreadFunc,(LPVOID)&m_cSpin)
hReadThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)TheardEvent, &dwThrdParam, 0, &dwThreadId);
这句为什么错了啊?