我在MFC应用中创建了一个对话框,如下所示:
BackfaceControlPoints * controlpoints = new BackfaceControlPoints();
controlpoints->创建(BackfaceControlPoints :: IDD);
controlpoints->的ShowWindow(SW_SHOWNORMAL);
我编译得很好,但是当我尝试运行应用程序时,我正在尝试创建对话框时获得调试断言。
下面是dlgcore.cpp的行,我在这里得到调试断言。
if(!_AfxCheckDialogTemplate(lpszTemplateName,FALSE))
{ ASSERT(FALSE); //无效的对话框模板名称
我正在为这个项目使用一个单独的dll(从解决方案的主项目中加载它。)和“在静态lubrary中使用mfc”选项。 请帮我。 感谢。
答案 0 :(得分:3)
通常,当MFC无法在资源中找到您的对话框时会发生错误。您的项目听起来有点奇怪,因为它听起来好像您正在创建MFC库并静态链接它们和应用程序?
在调用控制点之前 - > Create(),使用包含对话框资源的DLL的HINSTANCE调用AfxSetResourceHandle()。如果您开始变得奇怪的资源相关失败,您可能希望在通话后将其重置回原始状态。