Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.06;
Скачать: CL | DM;

Вниз

GetLastError   Найти похожие ветки 

 
SPeller ©   (2002-04-05 13:43) [0]

Как получить текстовое представление ошибки, код которой возвращает данная функция ??


 
VuDZ ©   (2002-04-05 13:46) [1]

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 );


 
SPeller ©   (2002-04-05 13:50) [2]

Уууу... извините, VuDZ, но в Си я 0, нельзя ли на Дельфи, если не трудно?
Да... спасибо за ответ.


 
VuDZ ©   (2002-04-05 14:25) [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)) << 10) | (WORD )(p))
Т.е. второй параметр типа слово (16 бит) сдвигается на 10 бит и потом выполняется логичиское или (OR) с первым параметром.
LANG_NEUTRAL = 0
SUBLANG_DEFAULT = 1, но это должно быть определено где то.

(LPTSTR) &lpMsgBuf,
0,
NULL
);


(LPTSTR) &lpMsgBuf - указатель на указатель :>

MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );

Вывод сообщения ил ещё что-то

// Free the buffer.
LocalFree( lpMsgBuf );

Удаление буфера. Лучше через API.


 
Юрий Федоров ©   (2002-04-05 14:28) [4]

А еще проще :
SysErrorMessage(GetLastError),
модуль SysUtils


 
SPeller ©   (2002-04-05 14:48) [5]

Thanks All !!!



Страницы: 1 вся ветка

Текущий архив: 2002.06.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
1-17913
andy_dn
2002-05-23 16:54
2002.06.06
Утечки памяти!


1-17847
Yuraz
2002-05-23 15:50
2002.06.06
Вопрос по INI файлам, как записать и считать Memo1.Text


1-18062
Fktrcq
2002-05-25 20:37
2002.06.06
Люди добрые подскажите литературу в Delphi 5 по типам. Спасибо!!!


14-18100
[MC]NuClon
2002-04-26 12:08
2002.06.06
SQL


3-17794
jenbbond
2002-05-15 10:39
2002.06.06
Экспорт в 1С