![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
GetLastError
SPeller © (2002-04-05 13:43:00)Как получить текстовое представление ошибки, код которой возвращает данная функция ??
SPeller (2002-04-05 14:48:00) [1]Thanks All !!!
Юрий Федоров (2002-04-05 14:28:00) [2]А еще проще :
SysErrorMessage(GetLastError),
модуль SysUtils
VuDZ (2002-04-05 14:25:00) [3]LPVOID lpMsgBuf;
обявляешь просто _указатель_ на что угодно, можешь типа PChar
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
NULL == nil
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
MAKELANGID определён как MAKELANGID(p, s) ((((WORD )(s))
MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );
Вывод сообщения ил ещё что-то
// Free the buffer.
LocalFree( lpMsgBuf );
Удаление буфера. Лучше через API.
SPeller (2002-04-05 13:50:00) [4]Уууу... извините, VuDZ, но в Си я 0, нельзя ли на Дельфи, если не трудно?
Да... спасибо за ответ.
VuDZ (2002-04-05 13:46:00) [5]MSDN:
LPVOID lpMsgBuf;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL
);
// Process any inserts in lpMsgBuf.
// ...
// Display the string.
MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );
// Free the buffer.
LocalFree( lpMsgBuf );