我有一个需要修复的MFC项目。我修复了所有错误,但在启动程序期间,它会抛出AfxWinMain()中的访问冲突读取位置。我在网上搜索并追踪了这个功能,发现了
CWinThread * pThread = AfxGetThread();
if(!pThread->InitInstance())//Here pThread is NULL
//snippet
比我用谷歌搜索它并在MS博客上发现这篇文章:
Why AfxGetThread() return null
他们建议创建对象CWinApp
,我也做过。
//Sinippet
}
CWinApp obj;
BEGIN_MESSAGE_MAP(CChildView, CDialog)
//Sinippet
所以NullReferenceExeption
中的AfxWinMain()
消失了,但在开始之后根本没有任何事情发生。 AfxWinMain()
函数返回控件而不构造任何窗口。请帮助我发布它。(如果可能的话)
P.P.S:我被赋予了调试这个NotConsole Aplication的功能,我只有.h文件,其中的类派生自CDialog和带有programm逻辑的.cpp文件,并且有一个未使用的_tmain()
函数。没有更多用户的主要功能。
答案 0 :(得分:0)
使用Visual Studio中的“文件”,“新建”,“项目”向导创建新的MFC项目。选择"基于对话框" MFC项目的选项。这个项目应该编译和启动没有问题。然后,您可以更改项目(在InitInstance函数中)以使用基于CDialog的类而不是向导生成的对话框。