尝试使用MFC对象时会违规

Acces Violation when trying to use MFC object

本文关键字:对象 MFC      更新时间:2023-10-16

我正在使用Kinect进行使用FPS计数器的MFC项目。这是静态文字。我希望此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*。演员们正在隐藏您的错误。