Функция 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

Категория

Ошибки