Шаг 35 - Как добавляются свои сообщения

Глобально все выглядит так. Создается текстовый файл по правилам необходимым Message Compiler (MC.EXE) вот для примера кусочек этого файла.

MessageId=0x1
Severity=Error
Facility=Runtime
SymbolicName=MSG_BAD_COMMAND
Language=English
You have chosen an incorrect command.

Дальше используется утилита MC, которую можно найти по пути:

Диск:\Program Files\Microsoft Visual Studio\VC98\Bin

Она используется для преобразования текстового файла в бинарный файл. Когда бинарный файл готов его нужно добавить в ресурсы.

nameID MESSAGETABLE filename

Все, остается только скомпилировать проект и функция FormatMessage сможет извлекать информацию об ошибке. Обратите внимание, что в утилите Error Lookup (подробнее "Шаг 32 - Просмотр описания ошибки") есть возможность указания модуля для извлечения ошибки.

35_1.gif (3627 b)

Так и в функции FormatMessage (подробнее - "Шаг 33 - Как работает Error Lookup") можно указать модуль, из которого ошибка извлекается, для этого в функции FormatMessage можно использовать второй параметр LPCVOID lpSource, куда передать указатель на загруженную DLL – HMODULE. Загружается DLL обычно функцией LoadLibrary при явном вызове (подробнее - "Шаг 41 - Явный вызов функций DLL").


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 09.01.2003