作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须使用 Visual Studio 2012 在 C# 应用程序中调用示例 MFC View 。我使用 C++/CLI 项目并从 C# 调用 C++ 类。为此,我必须使用这行代码
AFX_MANAGE_STATE(AfxGetStaticModuleState());
这将调用 MFC DLL 资源的资源句柄,而不是默认资源(C# 上的 exe 文件)。 MFC View 运行正常,但出现异常(如 C 消息框):
Debug Assertion Failed on \$InstallDir\VC\atlmfc\src\mfc\olelock.cpp line 62
这是我在安装目录上检查的源代码:
void AFXAPI AfxOleUnlockApp()
{
AFX_MODULE_STATE* pModuleState = AfxGetModuleState();
ASSERT(pModuleState->m_nObjectCount != 0);
if (InterlockedDecrement(&pModuleState->m_nObjectCount) == 0)
{
// allow application to shut down when all the objects have
// been released
::AfxOleOnReleaseAllObjects();
}
}
如何避免这种说法?感谢您的支持。
最佳答案
此断言只是表明您调用 AfxOleUnlockApp 的次数比调用 AfxOleLockApp 的次数多。
对特定函数设置断点。检查谁调用锁定/解锁。可能有多次释放的对象......
关于c# - MFC 编程中的\$InstallDir\VC\atlmfc\src\mfc\olelock.cpp 第 62 行调试断言失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26748969/
我必须使用 Visual Studio 2012 在 C# 应用程序中调用示例 MFC View 。我使用 C++/CLI 项目并从 C# 调用 C++ 类。为此,我必须使用这行代码 AFX_MANA
我是一名优秀的程序员,十分优秀!