Visual studio 2010 SP1 MFC, windows 7: проблема запуска ASSERT с модальным диалоговым окном checkbox
Я построил модальный диалог checkbox с MFC, который компилировался и связывался, но запуск был остановлен утверждением:
if (hWndCtrl == NULL) { pSite = m_pDlgWnd->GetOleControlSite(nIDC); if (pSite == NULL { TRACE(traceAppMsg, ...); ASSERT(FALSE); AfxThrowNotSupportedException(); } ... }
Я не понимаю, как это исправить. В предыдущих версиях Visual Studio у меня никогда не было этой проблемы.
Что я уже пробовал:
Я прошел через код. Не помочь.
Richard MacCutchan
Проверьте сообщение трассировки, которое должно сказать вам, что не так.
jeron1
В дополнение к тому, что сказал Ричард, возможно, было бы полезно немного больше контекста, что делает ваш код, когда это происходит? Взгляд на стек вызовов может дать некоторые подсказки.
Member 13180427
TRACE(traceAppMsg, 0, "Error: no data exchange control with ID 0x%04X.\n", nIDC);
Утверждение происходит в строке: if (in1DLG. DoModal() == IDOK)
void CDriver:: привод()
{
Cin1DLG in1DLG;
if (in1DLG. DoModal () = = IDOK)
{
};
}
Спасибо за комментарии
jeron1
Если вы установите точку останова на этой линии и войдете в функцию, вы можете точно увидеть, где она ломается. В DDX_Control (идентификатор ресурса) вопрос, возможно, метода oninitdialog (), вопрос (нет вызова метода базового класса метод)?