我的应用程序对AfxGetApp()的任何调用都会返回NULL,任何人都可以帮忙吗?
这是一个从.dll项目转换而来的.exe项目,所以可能会有一些我缺少的项目配置。我已经从使用.exe向导创建的另一个项目复制了配置但是不起作用。另外,我有一个全球性的CWinApp。
答案 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;
}