1
我的應用程序對AfxGetApp()的任何調用都返回NULL,任何人都可以幫忙嗎?AfxGetApp返回NULL
這是一個從.dll項目轉換而來的.exe項目,因此可能會丟失一些項目配置。我從另一個使用.exe嚮導創建的項目複製配置,但不起作用。另外,我有一個全球性的CWinApp。
我的應用程序對AfxGetApp()的任何調用都返回NULL,任何人都可以幫忙嗎?AfxGetApp返回NULL
這是一個從.dll項目轉換而來的.exe項目,因此可能會丟失一些項目配置。我從另一個使用.exe嚮導創建的項目複製配置,但不起作用。另外,我有一個全球性的CWinApp。
檢查您的預處理器定義。刪除_AFXEXT。
我有一個類似的問題,建立一個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;
}
這是爲什麼? _AFXDLL默認情況下在新創建的MFC .exe項目中繼承。 – korbes 2011-03-03 13:36:44
你說得對,那就是「MFC的DLL版本」。呃,我討厭所有這些該死的宏的MFC。 _AFXEXT。 – 2011-03-03 13:47:13
這一個已經不存在了,也不在原來的DLL項目上。 – korbes 2011-03-03 18:24:13