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++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 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]