Не удалось загрузить память MFC [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Не удалось загрузить память MFC [закрыто]

Сообщение Anonymous »

Прежде всего, программное обеспечение представляет собой многодокументную архитектуру MFC. Я создал страницу вложенного документа, которая создала CMap для управления страницами, которые я добавил с помощью элемента управления вкладками. И создал функцию для проверки того, были ли успешно созданы какие-либо страницы в таблице

Код: Выделить всё

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);
}
}
при его использовании происходит странное явление. Я использую CheckDialogMap (UINT) в других функциях класса CTreeTabView, это показывает, что память m_DialogMap создана правильно и доступна.
Однако при использовании функция fun() в классе CMainFrame, когда точка останова входит в m_DialogMap, память недоступна и не может быть проверена с помощью ASSERT_VALID (this); в функции Lookup().
введите сюда описание изображения
Ошибка: конфликт доступа на чтение

Подробнее здесь: https://stackoverflow.com/questions/791 ... oad-failed
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»