===================================================================== AJPapps - Просмотр ошибок Win32 API 1.01 Линда Кайе 2009. Посвящается Ариэль ===================================================================== Эта программа пригодится тем, кто пишет программы с постоянными обращениями к Win32 API напрямую. Она принимает код ошибки и выдаёт её описание, определённое в системе. Также программа может показать описания ошибок Visual Basic 6 и описания определённые в библиотеках. Очень полезно при отладке и неожиданных глюках программ. История создания ---------------- История этой программы полна драматичных событий и подлинного трагизма. Я всегда путала коды ошибок WinAPI, и ни какие списки вроде API32.TXT мне не помогали. Мне всегда хотелось хотябы извлечь сообщение об ошибке, как это делает операционная система, но поначалу я считала это невозможным. "Что позволено Юпитеру..." - думала я... Но однажды я увидела простенькую и немного глючную программу ErrLook 1.00 для Win32, и она на долго поселила свой ярлык па панели Microsoft Office 2000. Она позволяла получить те самые сообщения и, даже извлекать их из модулей (но, увы, я не знала как это делается...)! Однако... Хотелось то же самое добавить в свои программы. Наконец, я откопала в Win32 SDK простой пример, как это можно сделать. Через несколько дней функция GetAPIErrorMessage() прочно закрепилась в Planets DLLs. На этом бы и закончилась история, но даже этого мне было маловато. Просто некоторые программы периодически выдают сообщения вида "GetLastError returns 0xAF". Что за 0xAF??? Не запускать же регулярно Visual Basic! Так ErrLook вновь стала актуальна. Но меня коробил её дизайн и некоторые глюки (например, при нажатии "Exit" она не выгружается, хотя и уничтожает окно). Это и понятно - программа всего лишь является примером к MFC! Буквально вчера я узнала, как из модулей извлекаются сообщения. Там просто должен быть ресурс типа MESSAGETABLE (11), который создаётся хитрой утилитой Message Compiler. Но оказалось, что найдя системное сообщение, ErrLook не ищет в модулях... Наконец, я узнала, как это делается и решилась написать прграмму. Долго подбирала иконки. Долго писала сервис... Но код написала очень быстро. Нашла глюк в Moon.DLL вплоть до версии 5.01 (она неправильно выдаёт сообщения об AJP System ошибках через GetAJPSystemErrorMessage()), применила AJP_Pannel... Одним словом, всего понемногу. И вот... Она готова! -- '2004 После долгого времени я начала портировать эту программу на CHIBI_MX. Она пока не может обрабатывать шестнадцатеричные числа, но это ещё будет. Зато она теперь лишилась вывода ошибок AJP System в виду смены архитектуры моих библиотек. Теперь она использует другие элементы, получает по-другому сообщения - через AJPappsSupport.DLL. Зато выглядит она по-старому. Правда... Я пока не знаю, куда деть картинку со скриншотом ErrLook. Да и вообще, тут много идей, которые надо реализовать, а пока программа живёт вообще в папке ~~~Temp Projects... -- 28.12.2005 Программа родилась заново ^_^ Я выкинула всё лишнее и решила поделиться программой со всем миром ^_^ -- 30.01.2009 История изменений ----------------- • 1.01.0015 Первый публичный релиз. Зависимости ----------- Для работы этой программы нужны следующие компоненты: • AJPapps - AJPapps support library 1.00 Файл AJPappsSupport0100.DLL • AJPapps - Библиотека общих функций 3.00 Файл CommonFunctions0300.DLL • AJPapps - Panel control 1.00 Файл Panel0100.OCX • Microsoft Visual Basic Virtual Machine Файл MSVBVM60.DLL Эти компоненты обязательны. Они уже включены в программу установки ^_^ Информация о разработке ----------------------- Язык: Microsoft Visual Basic 6.0 SP6 Платформа: Windows XP Professional SP2 Установка --------- Просто запустите Setup.ErrorLookup.EXE, и программа установки сама создаст все необходимые ярлыки. Использование ------------- Запстите программу, введите код ошибки и получите результат. Всё ^_^ Поддерживаются шестнадцатеричные значения VB. Например, &H12. Удаление -------- Удаление самой программы производится обычным способом - через Установку и удаление программ. Однако файлы с данными не удаляются, поэтому Вам придётся самостоятельно удалить папку программы. Маленький копирайт ------------------ Эта программа поставляется как есть, тоесть автор не несёт ответственности за все трагедии и несчастные случаи, вызванные использованием оной. Вы используете её на свой страх и риск. Однако, если у Вас всё же случилась трагедия, сообщите об этом мне на lindakaioh@mail.ru. Также, эта программа поставляется бесплатно. Любое платное её распространение, сдача в аренду и другое коммерческое использование запрещены без ведома автора. Загружено с http://purl.oclc.org/Linda_Kaioh/Homepage/