Функция SetLastError
Declare Sub SetLastError Lib "kernel32.dll" (ByVal dwErrCode As Long)
SetLastError устанавливает код ошибки для многих функций API. Этот код ошибки обычно используется для большей информации о состоявшейся ошибке. Данный код будет существовать до следующего вызова функции SetLastError или SetLastErrorEx, или до появления следующей ошибки какой-нибудь функции. Коды ошибок являются 32-разрядными значениями (бит 31 является самым значимым). Бит 29 зарезервирован для кодов ошибок, определяемых приложением; во всех кодах системных ошибок этот бит сброшен. Если вы определяете код ошибки для своего приложения, то установите в нем бит 29 в 1. Тем самым код ошибки будет определен приложением и не станет конфликтовать с кодом, определенном для системных ошибок
Возвращаемое значение
SetLastError не возвращает никаких значений
Параметры
- dwErrCode
- Код произошедшей ошибки. Если вы используйте свои коды ошибок, то не используйте код 29 (&H20000000). Бит 29 зарезервирован системой
Пример
' Получим описания кодов ошибок
' Поместите на форме текстовое поле, где будут
' содержаться номера ошибок
Dim Buffer As String ' буфер для хранения строки
Dim sError As Long ' номер ошибки
Buffer = Space(200)
' Устанавливаем номер ошибки
sError = CLng(Text1.Text)
SetLastError sError
' Создаем строку сообщения об ошибке
FormatMessage FORMAT_MESSAGE_FROM_SYSTEM, ByVal 0&, GetLastError, LANG_NEUTRAL, Buffer, 200, ByVal 0&
' Показываем описание ошибки
MsgBox Buffer
Смотри также
GetLastError, SetLastErrorEx
Категория
Ошибки