c – AfxGetInstanceHandle()触发断言失败

前端之家收集整理的这篇文章主要介绍了c – AfxGetInstanceHandle()触发断言失败前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的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应用程序.

猜你在找的C&C++相关文章