MFC Exceptions
От: Bogerm  
Дата: 25.06.01 03:04
Оценка:
Приветствую!
Кто может подсказать в чем здесь ошибка ?
Есть совсем простая консольная програмка:

#include <afx.h>
#include <afxwin.h>
#include <iostream>

using namespace std;

int main( void )
{
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
cout << "panic: MFC couldn't initialize!" << endl;
return 1;
}

CFileException ex;
CFile sFile;

if (!sFile.Open("Test.myf", /* CFile::modeCreate | */
CFile::modeWrite, &ex))
{
char szError[1024];
ex.GetErrorMessage(szError, 1024);
cout << "Couldn't open source file: ";
cout << szError;
return 1;
}
sFile.Close();
return 0;
}

Суть в том, что GetErrorMessage в отладочной версии вылетает по ASSERT с криками, что не может найти строку в ресурсах. Компилировалась программа как в IDE со включенной опцией "Use MFC in Static Library", так и с помощью
cl /GX /MT obj2.cpp
MSDN вроде говорит, что достаточно включить вызов AfxWinInit(), что бы механизм обработки исключений в MFC заработал.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.