Ver Mensaje Individual
  #1  
Antiguo 24-02-2023
shagui75 shagui75 is offline
Registrado
 
Registrado: feb 2023
Posts: 4
Reputación: 0
shagui75 Va por buen camino
Incompatibilidad entre Delphi5 e Indy10?

Estimados, buen día. Mi consulta es si hay alguna incompatibilidad conocida entre Delphi5, Indy10 y Windows 10 porque después de dos días no he logrado solucionar el error "Could not load SSL library" en una aplicación muy simple donde intento hacer un post.
El mensaje y código del error es "Failed to load libeay32.dll (error #193)."


Si alguien conoce alguna incompatibilidad o sabe como solucionar este error se los voy a agradecer muchísimo!

Antes de escribir este posteo implementé todas las soluciones propuestas en este y otros foros (las detallo más abajo).
Mi sistema operativo es Windows 10 - 64bits, utilizo Delphi 5 - Update pack 1

Repaso lo hecho hasta acá:

Para la instalación de Indy:
1.Descargué los archivos de Indy a través de la dirección github sugerida en Indiproject.org

2. Para la instalación (que se hace correctamente) utlizo los siguientes dpk, en el mismo orden que los pongo aquí:

IndySystem50.dpk (de la carpeta system)
dclIndyCore50.dpk (de la carpeta Core)
IndyCore50.dpk (de la carpeta Core)
dclIndyProtocols50.dpk (de la carpeta Protocols)
IndyProtocols50.dpk (de la carpeta Protocols)


3. Por último copio los paths de Core, System y Protocols en el Library Path y Searching Path de Environment Options.


El código sólo utiliza un componente TidHTTP, un botón y un memo, lo copio a continuación:

En el uses agrego IdSSLOpenSSLHeaders;


Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  body:TStrings;
begin
  body:=TStringList.Create;
  body.Add('');
  IdHTTP1.Post(url enviada,body);  //ClubDelphi no me permite todavía poner links, por eso pongo url enviada
  memo1.lines.Text:=IdHTTP1.ResponseText;
end;

En el FormCreate capturo el error
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  IdSSLOpenSSLHeaders.Load;
  memo1.lines.text:=IdSSLOpenSSLHeaders.WhichFailedToLoad;
end;

Con respecto a las soluciones propuestas:
1. Puse en el FormCreate una llamada a IdSSLOpenSSLHeaders.Load;
2. Puse en el mismo directorio de mi proyecto las librerías libeay32.dll y ssleay32.dll... ambas corresponden a 64 bits y son las últimas (openssl-1.0.2u-x64_86-win64) descargadas desde la dirección github sugerida en Indiproject.org. También probé descargando y usando las versiones q, r, s, t

Cualquier ayuda se los voy a agradecer, estoy bastante frustrado con este tema! Gracias!
Santiago

Última edición por Casimiro Notevi fecha: 24-02-2023 a las 16:10:05. Razón: Poner etiquetas [delphi] [/delphi] al código.
Responder Con Cita