Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-09-2008
Berto2003 Berto2003 is offline
Miembro
 
Registrado: may 2003
Ubicación: Málaga
Posts: 59
Poder: 21
Berto2003 Va por buen camino
Question DLL Misteriosa

Hola a tod@s,

Tengo una dudilla. He estado mirando en los históricos de los foros pero no he podido o he sabido encontrar nada relacionado, es un tema al raro. Tengo un programa desarrollado en Delphi 5 y una librería. La llamada desde el programa es más o menos de la siguiente forma:

Código Delphi [-]
           try
              bibliot:=LOADLIBRARY('MILIB.DLL');

              IF bibliot >= HINSTANCE_ERROR THEN
              begin
                Try
                  @Func:=GETPROCADDRESS(bibliot,'programa');
                Finally
                  registro:=Func(Application, ... {parámetros} );
                End;
              end;

           finally
               SetLastError(0);
               FREELIBRARY(bibliot);   // <--- Aquí se cierra el programa 
          end

El problema es que justo al realizar el freelibrary de la librería se cierra el programa entero. Esto lo he averiguado poniendo ShowMessage antes y después de la liberación. Pero lo raro es que el mismo programa con la misma librería y misma configuración funciona perfectamente en otros equipos. He estado viendo en detalle la función FreeLibrary pero no he encontrado nada que pueda darme alguna pista. ¿Podría ser algún problema de memoria del equipo? ¿O tal vez algo del Sistema Operativo? Por cierto, el S.O. es Windows XP Professional.

Espero haberme explicado bien,
Gracias por todo.


Saludos,
Responder Con Cita
  #2  
Antiguo 26-09-2008
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
No lo he probado, pero el problema no sera que falla la funcion LoadLibrary y estas llamando a FreeLibrary con un parametro incorrecto
Responder Con Cita
  #3  
Antiguo 26-09-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Acabo de probar FreeLibrary con números al azar y no pasa nada catastrófico. De hecho no pasa nada

Entiendo que LoadLibrary regresa 0 (null) si no puede cargar la biblioteca, de manera que no creo que vaya por ahí el problema.

Me imagino que el problema está dentro de la propia bibiloteca, quizá algún apuntador mal manejado, o uso de strings, que se refleja al momento de descargarla.

// Saludos
Responder Con Cita
  #4  
Antiguo 07-11-2008
Berto2003 Berto2003 is offline
Miembro
 
Registrado: may 2003
Ubicación: Málaga
Posts: 59
Poder: 21
Berto2003 Va por buen camino
Hola de nuevo,

¿Sabeis si hay algún problema con FreeLibrary y sistemas Windows de 64 bits?

Saludos,
Responder Con Cita
  #5  
Antiguo 07-11-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cita:
Empezado por Berto2003 Ver Mensaje
...¿Sabeis si hay algún problema con FreeLibrary y sistemas Windows de 64 bits?...
Talvez
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Lentitud misteriosa con BDE AzidRain Tablas planas 1 18-03-2007 15:47:50
Multitud misteriosa obiwuan Humor 0 06-07-2003 12:52:59


La franja horaria es GMT +2. Ahora son las 02:26:34.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi