C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  Update World C++: Сборник GPL QT исходников
  Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Дебетовая карта Home Credit [CPS] RU

 35 - Как добавляются свои сообщения / Отладка / Visual C++

Шаг 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").


| |
Автор Каев Артем.
[AD]





Дебетовая карта Home Credit [CPS] RU