Утверждение от отладки C ++ MFC не удалось!в статическом MFC

StackOverflow https://stackoverflow.com//questions/10667837

  •  11-12-2019
  •  | 
  •  

Вопрос

Debug Assertion Failed!
File: f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\objcore.cpp Line: 40
.

У меня есть этот вопрос, когда я пытаюсь домодал (или создать) окно MFC, используя конфигурацию отладки - Use MFC in a Static Library и Dynamic Library (.dll).На конфигурации выпуска все в порядке, но я не могу отладить DLL.MS VS 2010

Это было полезно?

Решение

Это не происходит в сборке выпуска, поскольку код использует Assert, который не имеет значения в сборке выпуска.Assert - это отладочный инструмент.

Это может быть сюрприз для вас, но MFC не использует диалоговое окно модального окна Windows.Вызов Create или Domodal создает Windows Windows Dialog. MFC достигает модальности путем отключения родительского окна (если есть какие-либо) и поставки диалогового окна с собственным циклом обработки сообщений, аналогичным циклам сообщений приложения.

Вот почему TOU имеют тот же результат независимо от использования создания или домодала.

Это происходит до того, как диалог даже показан?

Ошибка, которую вы показываете в вашем посте, указывает, что где-то в вашем приложении вы пытаетесь использовать объект, который не был создан и является NULL во время инициализации диалога.Похоже, это не удается проверить iskindof.

Можно ли на молнию вашего проекта и опубликовать его для нас отладки?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top