INFORMACIÓN: Diagnosticar "Error al cargar la DLL" con LoadLibrary

Seleccione idioma Seleccione idioma
Id. de artículo: 142814 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

El error "Error al cargar la DLL" (código 48) se produce cuando se llama a un procedimiento dynamic-link biblioteca (DLL) y no se puede cargar el archivo especificado en instrucción Declare del procedimiento. Puede utilizar la función LoadLibrary de la API de Windows de Microsoft para averiguar la información más específica sobre por qué no puede cargar un archivo DLL.

Más información

La función de API LoadLibrary carga una DLL y devuelve un identificador o código de error. Si el valor devuelto es menor que 32, indica uno de los errores enumerados. Un valor devuelto mayor o igual a 32 indica éxito y se debe llamar a la función FreeLibrary para descargar la biblioteca.

Códigos de error de LoadLibrary

 0  System was out of memory, executable file was corrupt, or
    relocations were invalid.

 2  File was not found.

 3  Path was not found.

 5  Attempt was made to dynamically link to a task, or there was a
    sharing or network-protection error.

 6  Library required separate data segments for each task.

 8  There was insufficient memory to start the application.

 10 Windows version was incorrect.

 11 Executable file was invalid. Either it was not a Windows
    application or there was an error in the .EXE image.

 12 Application was designed for a different operating system.

 13 Application was designed for MS-DOS 4.0.

 14 Type of executable file was unknown.

 15 Attempt was made to load a real-mode application (developed for
    an earlier version of Windows).

 16 Attempt was made to load a second instance of an executable file
    containing multiple data segments that were not marked read-only.

 19 Attempt was made to load a compressed executable file. The file
    must be decompressed before it can be loaded.

 20 Dynamic-link library (DLL) file was invalid. One of the DLLs
    required to run this application was corrupt.

 21 Application requires Microsoft Windows 32-bit extensions.
				

Pasos para crear programas de ejemplo

El programa siguiente demuestra cómo llamar a LoadLibrary para cargar una biblioteca y mostrar un código de error resultante.
  1. Crear un nuevo proyecto EXE estándar en Visual Basic, se crea Form1 de forma predeterminada.
  2. Escriba el código siguiente en la sección de declaraciones generales de Form1:
       #If Win32 Then
          Private Declare Function LoadLibraryEx Lib "Kernel32" Alias "LoadLibraryExA" _
             (ByVal lpLibFileName As String, _
             ByVal hFile As Long, _
             ByVal dwFlags As Long) As Integer
          Private Declare Sub FreeLibrary Lib "Kernel32" (ByVal hLibModule As Integer)
       #Else
          Private Declare Function LoadLibrary Lib "kernel" (ByVal f$) As Integer
          Private Declare Sub FreeLibrary Lib "Kernel" (ByVal h As Integer)
       #End If
    						
  3. Escriba el código siguiente en el controlador de evento Click de formulario:
          Private Sub Form_Click ()
             Dim hInst As Integer
             ' Enter the name of your DLL file inside the quotes below.
             ' The file WIN.COM is not a valid DLL and demonstrates an error.
             #If Win32 Then
                hInst = LoadLibraryEx("win.com", 0, 2)
                If hInst > 32 Then
                   MsgBox "LoadLibrary success"
                   FreeLibrary (hInst)
                Else
                   MsgBox "LoadLibrary error " + Format$(hInst)
                End If
             #Else
                hInst = LoadLibrary("win.com")
                If hInst > 32 Then
                   MsgBox "LoadLibrary success"
                   FreeLibrary (hInst)
                Else
                   MsgBox "LoadLibrary error " + Format$(hInst)
                End If
             #End If
          End Sub
    						
  4. Presione la tecla F5 para ejecutar el programa. A continuación, haga clic en Form1. El programa muestra el código de error devuelto por LoadLibrary. Busque este código de error en la lista de errores anteriores para encontrar la explicación.

Propiedades

Id. de artículo: 142814 - Última revisión: martes, 09 de diciembre de 2003 - Versión: 2.0
La información de este artículo se refiere a:
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 16-bit Enterprise Edition
  • Microsoft Visual Basic 4.0 32-Bit Enterprise Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
Palabras clave: 
kbmt kb16bitonly kbinfo KB142814 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 142814

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com