
|
I am working with an MFC Dialog Application built with VS 2010
My application uses CPropertySheet with multiple CPropertyPage's and on one of them I am using a CMFCPropertyGridCtrl. The Dialog associated with that page handles PreTranslateMessage's.
When running this code on a Windows 7 Touch Screen computer, I get the following exception in the PreTranslateMessage handling a WM_MOUSEDOWN for the CMFCPropertyGridCtrl which eventually calls IsDialogMessaag():
mfc100ud.dll!ATL::IAccessibleProxyImpl<ATL::CAccessibleProxy>::get_accParent(IDispatch * * ppdispParent) Line 69 C++
// Delegate to standard helper?
HRESULT CWnd::get_accParent(IDispatch **ppdispParent)
{
ASSERT(m_pStdObject != NULL);
return m_pStdObject->get_accParent(ppdispParent);
}
The problem is that ppdispParent points to a NULL.
I have no idea what should be done to fix this???
Can anyone help explain this?
|
|
|
|

|
Start by posting a stack trace. Always post a stack trace when reporting a crash.
Steve
|
|
|
|

|
I've found the solution to this problem.
It appears to be related to the HTML control issue discussed in:
http://support.microsoft.com/kb/954251/de
I added the following WM_DESTROY handler to my CMFCPropertyGridCtrl.
void CPropGridCtrl::OnDestroy()
{
if ( NULL != m_pStdObject ) {
m_pStdObject->Release();
m_pStdObject = NULL;
}
CMFCPropertyGridCtrl::OnDestroy();
}
When I run with this, I don't see any crashes, but without it I get them so looks like this is the magic bullet.
|
|
|
|

|
The Internet comes through with the goods again.
Steve
|
|
|
|