3

我在我的 MFC 应用程序中创建了一个对话框,如下所示:

BackfaceControlPoints *controlpoints = new BackfaceControlPoints();

控制点->创建(BackfaceControlPoints::IDD);

控制点->显示窗口(SW_SHOWNORMAL);

我编译得很好,但是当我尝试运行应用程序时,我在尝试创建对话框时得到了一个调试断言。

下面是 dlgcore.cpp 中我获得调试断言的行。

if (!_AfxCheckDialogTemplate(lpszTemplateName, FALSE))

{断言(错误);// 无效的对话框模板名称

我为此项目使用了单独的 dll(从解决方案的主项目中加载它。)和“在静态库中使用 mfc”选项。请帮我。谢谢。

4

1 回答 1

4

通常,当 MFC 在资源中找不到您的对话框时会发生该错误。您的项目听起来有点奇怪,因为听起来好像您正在创建 MFC 库并将它们与应用程序静态链接?

在调用 controlpoints->Create() 之前,使用包含对话框资源的 DLL 的 HINSTANCE 调用 AfxSetResourceHandle()。如果您开始遇到与资源相关的奇怪失败,您可能希望在调用后将其重置回原始状态。

于 2012-06-21T17:44:35.377 回答