[英]MFC application crashes on Windows XP
我的MFC应用程序有一个非常奇怪的问题。 细节:
这个程序。 大约15岁,已经看过大多数VS版本。
我有一个单独的测试计算机,其中包括:Windows XP Pro SP3,Vista Home Premium,7 Ultimate。
当然,我在所有Windows上都安装了可再发行的VC ++。
现在,我将尝试描述问题:
该程序使用MFC类来处理CArchive对象。 用户可以创建一个新项目,该项目包含一个或多个工作表,这些工作表包含可能包含文本,图片或两者的单元格。 例如带有8x8网格的工作表。 可以将项目保存到磁盘:MySheet.K01,MySheet.K02等。使用CMultiDocTemplate查看工作表。
我创建了该项目的一个分支,用于创建可以将这些文件转换为另一种格式的程序。 我使用AllocConsole()使其成为控制台应用程序。
当我测试该程序时,结果是它可以在Windows 7上正常运行,部分在Windows Vista下运行,而在Windows XP上则完全崩溃。
我已经排除了该程序是否在Windows XP下编译的可能性。
我认为这是出了什么问题:
CFile myFile;
CMyDoc *pDoc = (CMyDoc *)m_pDocViewTemplate->CreateNewDocument(); // Get a CDocument and cast it
CFileException myError;
TCHAR *arcFileName = new TCHAR[MAX_PATH];
BOOL bTmp = myFile.Open(arcFileName, CFile::modeRead, &myError);
char lpszError[1024];
myError.GetErrorMessage(lpszError, 1024, 0);
_cprintf(lpszError);
_cprintf("\n");
if(!bTmp)
{
_cprintf("ERROR: Unable to open the file!\n");
return;
}
myFile.SeekToBegin();
CArchive myArc(&myFile, CArchive::load, 8192, 0);
myArc.m_bForceFlat = TRUE;
myArc.m_pDocument = pDoc;
pDoc->Serialize(myArc);
我真的很茫然。 如果需要,我可以提供更多详细信息。
提前致谢。
arcFileName将包含类似以下内容:“ C:\\ MyProject \\ MySheet.K01”
明显...
从XP上的IDE运行时会崩溃吗? 您会遇到什么崩溃? 在Debug和Release版本中会崩溃吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.