Сбой приложения MFC в Windows XP - PullRequest
0 голосов
/ 16 декабря 2010

У меня очень странная проблема с моим приложением MFC.Подробности:

  • Построен с использованием Microsoft Visual Studio 2008 (версия 9.0.30729.1 SP) под Windows Vista SP1 Ultimate.

Это приложение.ему около 15 лет, и он видел большинство версий VS.

У меня есть отдельный тестовый компьютер с: Windows XP Pro SP3, Vista Home Premium, 7 Ultimate.

Конечно, я установилVC ++ распространяется на все Windows.

Теперь я попытаюсь описать проблему:

Программа использует классы 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);

Я действительно в замешательстве.Я могу предоставить более подробную информацию, если это необходимо.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 17 декабря 2010

вылетает при запуске из IDE на XP?Какую аварию ты получаешь?Сбой в версиях отладки и выпуска?

0 голосов
/ 16 декабря 2010

arcFileName будет содержать что-то вроде: "C: \ MyProject \ MySheet.K01"

Очевидно ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...