我在以下代码中遇到错误。
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);
:'.ShowWindow' 左侧必须有类/结构/联合
二、
在MessageBoxW(L"hi");
错误 C2352: 'CWnd::MessageBoxW' : 非法调用非静态成员函数
我无法理解为什么会出现这些错误。
我的声明testThread
是:
static DWORD WINAPI testThread(LPVOID lpVoid);
staticConnectionStatus
是 MFC 中窗体上的静态文本标签的成员变量。
DDX_Control(pDX, IDC_STATIC_CONFIG6, staticConnectionStatus);
先感谢您。