MFC: CDialog от CPropertyPage

У меня есть CPropertySheet, которые содержат несколько CPropertyPage в качестве вкладок. В одном из CPropertyPage у меня есть кнопка, и нажатие на кнопку запускает CDialog. Я пытаюсь получить элемент управления для CPropertyPage, вызывая метод GetParent() внутри методов класса CDialog, но почему-то я не получаю правильное родительское окно, и когда я пытаюсь получить доступ к членам CPropertypage, оно выдает исключение нарушения прав доступа.

Ниже приведен код, который я использовал:

CDialog *parentDialog = (CDialog *)GetParent(); 

CPropertyPage *parentPage = (CPropertyPage *)parentDialog->GetParent(); 

DResourceStateMgr dSrcStateMgr(parentPage->m_psp.hInstance); 
                                              // throws Access Violation exception.

То же самое использовалось в Visual Studio 2008, но когда я перешел в Visual Studio 2013, это исключение.

0 ответов

Другие вопросы по тегам