Я работаю над проектом MFC с Kinect, который использует счетчик FPS. Это статический текст. Я хочу, чтобы этот счетчик FPS редактировался методом, который также отвечает за создание изображений kinect. Поэтому я передаю HWND моему объекту kinect следующим образом:
kinect->initialize(this->GetSafeHwnd());
В моем объекте kinect эта вещь сохраняется:
this->hwnd = hWnd;
а затем этот кусок кода для инициализации статического текста, который я хочу использовать:
CStatic * MFC_ecFPSCOLOR;
MFC_ecFPSCOLOR = (CStatic *) GetDlgItem(hWnd, TC_FPSCOLOR);
И тогда я хочу использовать это:
MFC_ecFPSCOLOR->SetWindowTextW(L"TEST");
И здесь все идет не так:
Unhandled exception at 0x54431C19 (mfc110ud.dll) in KinectMain.exe: 0xC0000005: Access violation reading location 0x0031004C.
Может ли кто-нибудь указать мне правильное направление?
Вы используете неправильную версию GetDlgItem
, он возвращает ручку, а не CWnd*
, Актеры скрывают от вас ошибку.
Других решений пока нет …