다음 코드에서 오류가 발생합니다.MFC 프로그래밍 : 컴파일 중 오류 : 스레드 코드 오류
DWORD WINAPI CMbPoll::testThread(LPVOID lpVoid)
{
DWORD dwWaitResult;
while(1)
{
dwWaitResult = WaitForSingleObject(ghSemaphore, INFINITE/*0L*/);
if (connectionSuccessful == 1)
{
staticConnectionStatus.ShowWindow(FALSE);
}
else
{
staticConnectionStatus.ShowWindow(TRUE);
}
MessageBoxW(L"hi");
switch (dwWaitResult)
{
case WAIT_OBJECT_0:
Read_One_t(pollSlaveId[0], pollAddress[0], 0);
temporaryCount++;
break;
case WAIT_TIMEOUT:
temporaryCount++;
break;
default:
break;
}
}
}
오류는 다음과 같습니다
I.
오류 C2228
staticConnectionStatus.ShowWindow(FALSE);
에서 : 클래스/구조체/노동 조합
II가 있어야합니다 '.ShowWindow'의 왼쪽. MessageBoxW(L"hi");
오류 C2352에서
: '하여 CWnd :: MessageBoxW': 비 정적 멤버 함수
의 불법 전화 나는 이러한 오류가 나타나는 이유를 이해할 수 없습니다입니다.
testThread
에 대한 나의 선언은 다음과 같습니다
static DWORD WINAPI testThread(LPVOID lpVoid);
staticConnectionStatus
은 MFC에서 양식에 정적 텍스트 레이블 멤버 변수입니다.
DDX_Control(pDX, IDC_STATIC_CONFIG6, staticConnectionStatus);
감사합니다.
정확한 답변을 주셔서 대단히 감사합니다. – Jay