Ver Mensaje Individual
  #1  
Antiguo 26-09-2008
Berto2003 Berto2003 is offline
Miembro
 
Registrado: may 2003
Ubicación: Málaga
Posts: 59
Reputación: 22
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