Member 13180427 Ответов: 1

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 (), вопрос (нет вызова метода базового класса метод)?

1 Ответов

Рейтинг:
2

KarstenK

Дело в том, что что-то в создании флажка пошло не так.

Часто причиной является некоторое несоответствие идентификаторов ресурсов. Обычно какое-то значение больше 1000 в ресурсе.h и НЕ IDC_STATIC.

Проверьте идентификатор в rc-файле, то есть имеет допустимый номер и идентификатор связанной переменной-члена.


Member 13180427

Мои IDC_STATIC1 - IDC_STATIC6 пронумерованы в файле ресурсов от 1000 до 1005, а все остальные - 310 или меньше. Значит, это должно быть что-то другое. Я действительно заметил следующую ошибку: Ошибка: нет управления обменом данными с идентификатором 0x03EA (hex?).
Спасибо за ваш комментарий, Карстенк.

Member 13180427

1. Кто-нибудь успешно использовал диалоговые флажки MFC для Visual Studio 2010?
2. Прокомментируйте, пожалуйста, использование .Объем программирования для Visual Studio 2010 с. Работают ли все рекламируемые возможности?