Mon*_*nce 3 c++ mfc mfc-feature-pack
仍在适应这个 MFC 百灵鸟,我在这个特定问题上遇到了困难。我正在更新一些旧代码以使用 MFC 功能包中提供的一些更精致的控件。
按照网上给出的更新旧 MFC 应用程序的示例,将应用程序基类更改为 CWinAppEx 效果很好,但是当我将 CFrameWnd 更改为 CFrameWndEx 时,我收到来自 mfc90d.dll!AFXGetRegPath 中某处的“调试断言失败”错误消息。忽略此消息会导致出现大量 0xC0000005:访问冲突错误。
对于如何解决此问题的任何建议,我将不胜感激。
干杯。
MFC 框架的源代码作为 Visual Studio 的一部分包含在内,因此应将其安装在您的计算机上。一般来说,当框架触发调试断言时,您应该进入调试器,这将帮助您确定问题的确切原因。
查看源代码,我可以看到该AFXGetRegPath函数包含一些断言:
ENSURE(lpszPostFix != NULL);
ASSERT_VALID(pApp);
ENSURE(AfxGetApp()->m_pszRegistryKey != NULL);
ENSURE(AfxGetApp()->m_pszProfileName != NULL);
Run Code Online (Sandbox Code Playgroud)
如果我不得不猜测,我会说这是m_pszRegistryKey检查失败了,可能是因为您没有调用SetRegistryKey应用程序类的InitInstance函数。
我希望这有帮助!
| 归档时间: |
|
| 查看次数: |
3574 次 |
| 最近记录: |