VBasicFacil

Principal - Enlaces - Codigo - Controles - API


Función SetLastError

Declaración

Declare Sub SetLastError Lib "kernel32" Alias "SetLastError" (ByVal dwErrCode As Long)

Plataformas

Descripción

Carga el código de error para el hilo que llama la función. Este código de error se suele usar para dar mas información que una simple notificación de error. El código de error dado por esta función permanece hasta la siguiente llamada a las funciones SetLastErrro o SetLastErrorEx o hasta que otra función de la API genere su propio error (la mayoría llaman internamente a SetLastError).

Parametros

dwErrCode Indica el código de error para el hilo. Si defines códigos de error para usar en tus programas, asegúrate de cargar el bit 29 (&H20000000). Ningún código de error de Windows utiliza este bit.

Valor devuelto

Ninguno

Ejemplo

Generár un código de error que puede ser recuperado despues del sistema.

Formulario (Contiene un ControlButton y un TextBox, hay que introducir una contraseña que es ZAPATILLA)

Option Explicit


Private Sub Command1_Click()
    If Text1.Text <> "ZAPATILLA" Then
        ' Si no se teclea la clave correcta ("ZAPATILLA")
        ' se genera un código de error
        ErrorDeAcceso
        MsgBox InformacionError
    End If
    Unload Me
End Sub

		

Modulo

Option Explicit


Private Declare Function FormatMessage _
    Lib "kernel32" _
    Alias "FormatMessageA" _
   (ByVal dwFlags As Long, _
    lpSource As Any, _
    ByVal dwMessageId As Long, _
    ByVal dwLanguageId As Long, _
    ByVal lpBuffer As String, _
    ByVal nSize As Long, _
    Arguments As Long) As Long
Private Declare Sub SetLastError _
    Lib "kernel32" _
   (ByVal dwErrCode As Long)

Private Const FORMAT_MESSAGE_FROM_SYSTEM = &H1000
Private Const ERROR_INVALID_PASSWORD = 86&

Public Function InformacionError() As String
    Dim Texto As String * 500
    Dim Error As Long
    Dim NumCaracteres As Long

    Error = Err.LastDllError
    NumCaracteres = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, _
                ByVal 0&, Error, 0, Texto, Len(Texto), 0)
    InformacionError = Left(Texto, NumCaracteres)
End Function

Public Sub ErrorDeAcceso()
    ' Se crea un error de passswor invalido = 86
    SetLastError ERROR_INVALID_PASSWORD
End Sub
Descargar Codigo : SetLastError.zip

 

Aplicaciones: Programa para ver los mensajes de error que corresponden a cada código de error

Ver también: GetLastError, FormatMessage

Categoría: Errores


Ultima actualización : 30 de noviembre de 2001
Copyright © 2001 Silared, s.l.
correo-e : vbasicfacil@silared.com
Site : www.vbasicfacil.com