|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.03.2009, 16:26 | #1 |
Пользователь
Регистрация: 03.03.2009
Сообщений: 15
|
запуск программы ErrorShow из книги Джефри Рихтера
Привет, столкнулся с проблемой работы программы-примера из книги Рихтера "Создание эффективных WIN32-приложений".
Его пример изначально сделан под Microsort Visual Studio 6.0 (залил сюда http://dump.ru/file/1964341 + добавил фаил CmnHdr.h) Его пример я запускал на Microsort Visual Studio 2005, студия автоматом его конвертировала в формат своих проектов (залил сюда http://dump.ru/file/1964352) Как должен работать пример из книги: в окошке надо ввести номер кода ошибки windows, нажать кнопку "Look up" и будет показано текстовое описание ошибки (в той главе Рихтер пишет, что коды ошибок лежат в фаиле WinError.h - я его открывал, там они есть, начиная с 1 и до 10000...) Проблема: текстовое описание ошибки не показывается... на всякий случай код программы: Код:
P.S. смотрел описание функции FormatMessage на MSDN Syntax C++ Код:
Код:
|
08.03.2009, 21:02 | #2 |
Пользователь
Регистрация: 03.03.2009
Сообщений: 15
|
ещё раз обратившись к MSDN, поковырялся в описании функции FormatMessage, в целом вышел такой вот код консольного приложения:
Код:
Код:
является: The message identifier for the requested message. This parameter is ignored if dwFlags includes FORMAT_MESSAGE_FROM_STRING. вопрос: как по этому указателю hlocal, из моего кода, получить саму строку-то? |
20.09.2017, 07:59 | #3 |
Новичок
Джуниор
Регистрация: 13.11.2012
Сообщений: 1
|
Запустил пример Рихтера в Visual Studio 6.0 (Windows xp русскоязычная) так: в файле ErrorShow.cpp 1)PCTSTR заменил на LPCTSTR (строка 86); 2) INT_PTR WinAPI Dlg_Proc() на BOOL CALLBACK Dlg_Proc() (строка 99). В файле CmnHdr.h вместо вызова GetWindowLongPtr вызвать GetWindowLong(hwd, GWL_HINSTANCE). Построил решение без ошибок, но программа не работает. В файле ErrorShow.cpp вместо MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US) написал MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT) в строке 65. Построил решение, программа заработала(выводит описание ошибки на русском языке).
Последний раз редактировалось iskatelk; 20.09.2017 в 08:03. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Опередить запуск программы | artemavd | Общие вопросы Delphi | 6 | 19.12.2008 14:04 |
Запуск программы | Vladya | Помощь студентам | 4 | 17.11.2008 11:38 |
Запуск программы в Delphi | Cannibal | Помощь студентам | 2 | 11.10.2008 16:13 |
Запуск программы на выполнение из другой программы. | ViNcHeStEr | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 18.06.2008 14:33 |
Запуск программы | Egych | Общие вопросы Delphi | 4 | 04.05.2007 09:46 |