Суть в том, что GetErrorMessage в отладочной версии вылетает по ASSERT с криками, что не может найти строку в ресурсах. Компилировалась программа как в IDE со включенной опцией "Use MFC in Static Library", так и с помощью
cl /GX /MT obj2.cpp
MSDN вроде говорит, что достаточно включить вызов AfxWinInit(), что бы механизм обработки исключений в MFC заработал.
Здравствуйте Bogerm, вы писали:
B>Приветствую! B>Кто может подсказать в чем здесь ошибка ? B>Есть совсем простая консольная програмка:
<skip>
B>Суть в том, что GetErrorMessage в отладочной версии вылетает по ASSERT с криками, что не может найти строку в ресурсах.
Всё дело в ресурсах. Когда MFC пытается загрузить из ресурсов строку с описанием ошибки, строка не находится, потому что в exe-файле её нет.
Для решения проблемы есть два пути.
1. Слинковаться с MFC динамически. В этом случае нужные ресурсы будут взяты из mfc*.dll.
2. Слинковаться с MFC статически. В этом случае ресурсы нужно включить в файл приложения. Для этого создай rc-файл для приложения (если ещё не создал), а затем открой окно View->Resource Includes и впиши в поле Compile-time directives строчку #include "afxres.rc".
С уважением,
Александр
--
Я думал, ты огромный страшный Бажище,
А ты недоучка, крохотный Бажик...