加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – AfxGetInstanceHandle()触发断言失败

发布时间:2020-12-16 07:49:15 所属栏目:百科 来源:网络整理
导读:我在我的C程序中使用MFC(使用Visual Studio 2008).我必须在程序的开头调用AfxGetInstanceHandle(). 此功能触发断点: AFXWIN_INLINE HINSTANCE AFXAPI AfxGetInstanceHandle(){ ASSERT(afxCurrentInstanceHandle != NULL);return afxCurrentInstanceHandle;
我在我的C程序中使用MFC(使用Visual Studio 2008).我必须在程序的开头调用AfxGetInstanceHandle().

此功能触发断点:

AFXWIN_INLINE HINSTANCE AFXAPI AfxGetInstanceHandle()
{ ASSERT(afxCurrentInstanceHandle != NULL);
return afxCurrentInstanceHandle; }

ASSERT语句失败.我想知道,为了初始化afxCurrentInstanceHandle,我们尝试访问之前,你是否有事要做.

PS:我在一个共享的DLL中使用MFC.

编辑

我的代码是这样的:

int _tmain(int argc,_TCHAR* argv[])
{

  CoInitialize(NULL);
  AfxGetInstanceHandle();
  return 0;
}

我想使用InstanceHandle来初始化一个CComModule,然后使用它来操作com对象.

解决方法

如果你使用MFC,你不应该提供一个main,wmain,_tmain或者WinMain – MFC提供自己的入口点.将初始化代码放在您的CWinApp派生类的InitInstance中.如果您没有CWinApp派生类,则没有正确创建该项目 – 请使用Visual Studio向导创建MFC应用程序.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读