![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по поводу кодов ошибок [D5, Win95/98]
ProfiUglq © (2002-02-27 12:02:00)Доброго дня суток МАСТЕРА!
У меня вопрос. Есть такая функция GetLastError - которая возвращает код последней ошибки. Может кто-нибудь подскажет где можно посмотреть, что значит этот код ошибки.
Sasha9 (2002-02-27 19:34:00) [1]напиши константу какой-н. ошибки(напр. ERROR_INVALID_FUNCTION) внутри какой-н. функции и щёлкни по ней мышкой, держа нажатым Ctrl и увидишь коды всех ошибок
Digitman (2002-02-27 12:22:00) [2]во многих случаях можно поступить проще, задействовав ф-цию Win32Check из модуля SysUtils. Ф-ция декодирует большинство из кодов ошибок, возвращаемых вызовом GetLastError().
Win32Check() вызывается непосредственно за каким-либо API-вызовом, в описании которого в MSDN рекомендуется определять действительный код ошибки (если API-вызов дал отказ) непосредственно следующим за ним вызовом GetLastError()
Схема работы Win32Check(SomeBoleanValue) :
- если параметр SomeBoleanValue = True, ф-ция ничего не делает и возвращает True;
- если параметр SomeBoleanValue = False, ф-ция пытается получить и декодировать код ошибки, вызывая последовательно в своем теле API-ф-ции GetLastError() и SysErrorMessage(). Полученные значения ф-ция использует для генерации исключения класса EWin32Error.
MBo (2002-02-27 12:15:00) [3]а если надо словами, то
ShowMessage(SysErrorMessage(GetLastError));
Юрий Зотов (2002-02-27 12:12:00) [4]Для преобразования кода ошибки в текстовое сообщение используйте FormatMessage или SysErrorMessage. А еще проще - Win32Check или RaiseLastWin32Error.
[NIKEL] (2002-02-27 12:06:00) [5]в хелпе очевидно