AfxGetApp返回NULL

时间:2011-03-02 20:07:29

标签: c++ windows mfc

我的应用程序对AfxGetApp()的任何调用都会返回NULL,任何人都可以帮忙吗?

这是一个从.dll项目转换而来的.exe项目,所以可能会有一些我缺少的项目配置。我已经从使用.exe向导创建的另一个项目复制了配置但是不起作用。另外,我有一个全球性的CWinApp。

2 个答案:

答案 0 :(得分:1)

检查预处理器定义。删除_AFXEXT。

答案 1 :(得分:0)

我有一个类似的问题构建一个DLL,如果我复制这个代码(取自另一个dll)AfxGetApp()返回正确的指针:

CWinApp theApp;

using namespace std;

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
    int nRetCode = 0;

    // initialize MFC and print and error on failure
    if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
    {
       // TODO: change error code to suit your needs
       _tprintf(_T("Fatal Error: MFC initialization failed\n"));
       nRetCode = 1;
    }
    else
    {
       // TODO: code your application's behavior here.
    }

    return nRetCode;
}