windows - MFC .dll 调试断言

标签 windows mfc atl

我正在尝试创建 shell 扩展,但我在这行代码中收到了调试断言:

_AFXWIN_INLINE HINSTANCE AFXAPI AfxGetResourceHandle()
    { 
        ASSERT(afxCurrentResourceHandle != NULL);  // here
        return afxCurrentResourceHandle; }

这有什么问题吗? 我已经创建了这个类

class CMyExtShellExtApp : public CWinApp
{
public:
    virtual BOOL InitInstance();
    virtual int ExitInstance();

    DECLARE_MESSAGE_MAP()
};

BOOL CMyExtShellExtApp::InitInstance()
{   
    AFX_MANAGE_STATE(AfxGetStaticModuleState());
    return CWinApp::InitInstance();
}

int CMyExtShellExtApp::ExitInstance()
{
    return CWinApp::ExitInstance();
}

错误仍然存​​在。

最佳答案

尝试添加这一行:

AFX_MANAGE_STATE(AfxGetStaticModuleState());

在代码中引起断言的函数的最开始处。

关于windows - MFC .dll 调试断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13358031/

相关文章:

c++ - Atlbase 将无法正确包含在虚幻引擎 4 中

c++ - 使用 ATL 覆盖 QueryInterface

c++ - 如何将 PreShutdown 事件添加到 ATL 服务?

c# - 完全关闭辅助窗口

windows - 如何使用 Write-EventLog 在事件日志中显示任务类别的字符串名称?

C++ Unresolved external symbol 错误?

c++ - 使 MFC CTabCtrl 不使用绘图选项卡的完整控件宽度

c++ - CString 的 GetBufferSetLength() 是否应该有一个匹配的 ReleaseBuffer() 调用?

c++ - 告诉 Windows 处理除一条消息以外的所有消息

java - 如何从 Java 写入 Windows 事件日志?