我有一个需要修复的mfc项目。我已经修复了所有的错误,但在启动程序时,它抛出访问违反读取位置在AfxWinMain()。我在网上搜索并跟踪了这个函数,发现
CWinThread* pThread = AfxGetThread();
if(!pThread->InitInstance())//Here pThread is NULL
//snippet
然后我谷歌了一下,在微软博客上找到了这篇文章:为什么AfxGetThread()返回null他们建议创建对象CWinApp
,我也这样做了。
//Sinippet
}
CWinApp obj;
BEGIN_MESSAGE_MAP(CChildView, CDialog)
//Sinippet
所以这个NullReferenceExeption
在AfxWinMain()
中消失了,但是发射后什么都没有发生。AfxWinMain()
函数返回控件而不构造任何窗口。请帮我启动它。(如果可能的话)
p。S:我不确定我的MFC知识。
最大功率S:我被给予调试这个NotConsole应用程序,我只有。h文件与类派生自CDialog和。cpp文件与程序逻辑,有未使用的_tmain()
功能。没有更多的用户的主要功能
使用Visual Studio中的"文件,新建,项目"向导创建新的MFC项目。为MFC项目选择"Dialog Based"选项。这个项目应该编译和启动没有问题。然后你可以改变项目(在InitInstance函数中),使用基于cdialog的类,而不是由向导生成的对话框。