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

当我尝试使用调试配置 -Use MFC in a Static LibraryDynamic Library (.dll). 在发布配置上一切正常,但我无法调试 dll。女士 VS 2010

4

1 回答 1

1

它不会在发布版本中发生,因为代码使用了在发布版本中没有意义的 ASSERT。ASSERT 是一个调试工具。

您可能会感到惊讶,但 MFC 不使用 Windows 模式对话框。调用 Create 或 DoModal 创建 windows 无模式对话框。MFC 通过禁用父窗口(如果有)来实现模态,并为对话框提供类似于应用程序消息循环的自己的消息处理循环。

这就是为什么无论使用 Create 还是 DoModal 都具有相同的结果。

它甚至在显示对话框之前发生吗?

您在帖子中显示的错误表明您在应用程序代码的某处尝试使用尚未实例化且在对话框初始化期间为 NULL 的对象。似乎它未能通过 IsKindOf 检查。

是否可以压缩您的项目并将其发布给我们进行调试?

于 2012-05-20T13:21:32.380 回答