Код: Выделить всё
class CTreeTabView : public CFormView
{
...
//Window pointer mapping table
CMap m_DialogMap;
...
bool CheckDialogMap(UINT indexToCheck) {
CWnd* pWnd;
if (m_DialogMap.Lookup(indexToCheck, pWnd))
{
return true;
}
return false;
}
}
m_pwndTab — это подфреймворк класса подинтерфейса CTabFrame: public CMDIChildWnd
Код: Выделить всё
class CMainFrame : public CMDIFrameWndEx
{
void fun(){
((CTreeTabView*)((CMainFrame*)(AfxGetApp()->m_pMainWnd))->m_pwndTab->GetActiveView())->CheckDialogMap(1130);
}
}
Однако при использовании функция fun() в классе CMainFrame, когда точка останова входит в m_DialogMap, память недоступна и не может быть проверена с помощью ASSERT_VALID (this); в функции Lookup().
введите сюда описание изображения
Ошибка: конфликт доступа на чтение
Подробнее здесь: https://stackoverflow.com/questions/791 ... oad-failed
Мобильная версия