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, ... );
End;
end;
finally
SetLastError(0);
FREELIBRARY(bibliot); 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,