Функция-член lpfnWndProc должна быть вызвана

У меня есть приложение, которое необходимо обнаружить, вставка новых устройств.
Но я получаю сообщение об ошибке «wndClass.lpfnWndProc = reinterpret_cast (WndProcTest);» ошибка: «Должна быть вызвана функция-член или взят ее адрес».
Я использую Borland C ++ Builder 6.
Может кто знает, что я делаю не так?

Мой код AppMainForm.cpp:

bool TAppMainForm::InitWindowClass()
{
WNDCLASSEX wndClass;

wndClass.cbSize = sizeof(WNDCLASSEX);
wndClass.style = CS_OWNDC | CS_HREDRAW | CS_VREDRAW;
wndClass.hInstance = reinterpret_cast<HINSTANCE>(GetModuleHandle(0));
wndClass.lpfnWndProc = reinterpret_cast<WNDPROC>(WndProcTest );
wndClass.cbClsExtra = 0;
wndClass.cbWndExtra = 0;
wndClass.hIcon = LoadIcon(0,IDI_APPLICATION);
wndClass.hbrBackground = CreateSolidBrush(RGB(192,192,192));
wndClass.hCursor = LoadCursor(0, IDC_ARROW);
wndClass.lpszClassName = g_szClassName;
wndClass.lpszMenuName = NULL;
wndClass.hIconSm = wndClass.hIcon;

if ( ! RegisterClassEx(&wndClass) )
{
//ErrorHandler(TEXT("RegisterClassEx"));
return false;
}
return true;
}

INT_PTR WINAPI TAppMainForm::WndProcTest(
HWND hWnd,
UINT message,
WPARAM wParam,
LPARAM lParam
)
{
// do something
}

Заголовочный файл:

public:
bool InitWindowClass();
INT_PTR WINAPI WndProcTest(
HWND hWnd,
UINT message,
WPARAM wParam,
LPARAM lParam
);

0

Решение

Проблема в том, что вы пытаетесь взять адрес функции-члена C ++ и присвоить его указателю на функцию C, lpfnWndProc,

0

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector