Ayuda con cambiar nombre a libeay32.dll

Para los que programamos en Delphi, aqui estan las respuestas
[[ FORO CERRADO DEBIDO A QUE YA LA INFORMACION YA NO ES VIGENTE ]]
agag4
Mensajes: 617
Registrado: Lun Ago 02, 2010 2:27 pm

Ayuda con cambiar nombre a libeay32.dll

Mensajepor agag4 » Jue Ago 14, 2014 1:55 pm

Buenas tardes, hace unos dias me solicito un cliente de que queria enviar las facturas con cuentas de correo alojadas en la nube para login.microsoftonline.com las famosas cuentas de outlook , consegui hacerlo en dephi7 , pero para hacerlo funcionar tuve que usar una versión mas reciente del libear32.dll (no funciona para las facturas) , obviamente este archivo lo uso para sellar los xml antes de timbrarlos, ya intente modificar el nombre al archivo y modificar el nombre al fuente en el libeay.pas

Código: Seleccionar todo


const
  LIBEAY_DLL_NAME = 'libeay32ag.dll';


al compilar, me marca el error
Adjuntos
error.jpg
error.jpg (11.49 KiB) Visto 17363 veces

Avatar de Usuario
Dado
Mensajes: 15824
Registrado: Mar Jul 06, 2010 8:56 pm

Re: Ayuda con cambiar nombre a libeay32.dll

Mensajepor Dado » Jue Ago 14, 2014 3:38 pm

Hice pruebas y si consegui renombrar con exito exactamente como lo hiciste

Ahora, debes saber que libeay32.dll y ssleay32.dll estan intimamente ligados, es posible que este habiendo un conflicto de version con ssleay32.dll
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!

crono81
Mensajes: 118
Registrado: Lun Dic 16, 2013 6:55 pm

Re: Ayuda con cambiar nombre a libeay32.dll

Mensajepor crono81 » Jue Ago 14, 2014 4:36 pm

Yo tuve un caso similar, mi solución fue hacer el enlace a la dll, desde una subcarpeta. Modificando un archivo fuente de los componentes indy, que son lo que uso para el correo, con este ejemplo, indy busca las dll en una carpeta llamada openssldll, dentro del directorio de la aplicación

Código: Seleccionar todo

const
  SSL_DLL_name         = 'openssldll\ssleay32.dll';  {Do not localize}
  SSLCLIB_DLL_name   = 'openssldll\libeay32.dll';  {Do not localize}

agag4
Mensajes: 617
Registrado: Lun Ago 02, 2010 2:27 pm

Re: Ayuda con cambiar nombre a libeay32.dll

Mensajepor agag4 » Mar Ago 19, 2014 1:34 pm

Efectivamente, me hacia falta probar con agregarle la ruta openssldll\

Lo habia probado con :
1) renombrar las 2 dll
2) especificar una ruta de esta forma c:\windows\dll (no funciono asi)

Muchas Gracias me funciono de esta forma:

Código: Seleccionar todo



const
  GLIBEAY_DLL_Name  : String  = 'openssldll\libeay32.dll';


agag4
Mensajes: 617
Registrado: Lun Ago 02, 2010 2:27 pm

Ayuda con cambiar nombre a libeay32.dll Parte #2

Mensajepor agag4 » Mié Ago 20, 2014 1:13 pm

Continuando con el tema anterior , abri este tema no me deja RESPONDER el anterior TEMA .

Estoy en la etapa de implementación del envio de correos por SSL/TLS a mi sistema de facturación tengo 2 problemas:

1) Al querer enviar la factura por correo en mi aplicación usando el componente nuevo que hace llamada al libeay32.dll me marca error (viene adjuntado a este tema)
Este error es porque esta intentando leer el archivo libeay32.dll del sistema de facturación en vez de leer el que le estoy especificando en la carpeta opensslsll\libeay32.dll
del mismo nivel donde se encuentra mi aplicación, por tal motivo me fui al paso #2.....

2) Me fui por el camino de modificar la ruta al libeay32.dll al momento de sellar el XML, esto lo hice en el libeay32.pas quedo asi :

Código: Seleccionar todo


const
  LIBEAY_DLL_NAME = 'opensslFac\libeay32.dll';


Movi el libeay32.dll de la carpeta donde esta la aplicación hacia el siguiente nivel de subcarpeta que se llama opensslFac

Al compilar el programa me sale el error que viene en este tema (Error al abrir sistema.JPG) ..

comparto el link para bajar el componente que uso para enviar correos por SSL

https://www.dropbox.com/s/iwvhj01e78zf2 ... %20SSL.rar
Adjuntos
Error al abrir sistema.jpg
Error al abrir sistema.jpg (14.33 KiB) Visto 17336 veces
error al enviar fac x correo.jpg
error al enviar fac x correo.jpg (15.86 KiB) Visto 17336 veces

agag4
Mensajes: 617
Registrado: Lun Ago 02, 2010 2:27 pm

Re: Ayuda con cambiar nombre a libeay32.dll

Mensajepor agag4 » Jue Ago 21, 2014 9:08 am

DADO, investigando un poco, veo que es posible usar las 2 versiones de la dll en una misma aplicación pero si X operacion abre una versión al querer abrir la otra se tiene que "CERRAR" la 1era, en el fuente que me proporcionastes hace años atras para el sellado del XML donde hace uso de la dll, sabes como CERRARLA después de sellar el xml ????

Avatar de Usuario
Dado
Mensajes: 15824
Registrado: Mar Jul 06, 2010 8:56 pm

Re: Ayuda con cambiar nombre a libeay32.dll

Mensajepor Dado » Jue Ago 21, 2014 9:33 am

Nop, no se como cerrarla
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!

s3cr3to
Mensajes: 501
Registrado: Mar Dic 28, 2010 2:12 pm

Re: Ayuda con cambiar nombre a libeay32.dll

Mensajepor s3cr3to » Vie Ago 22, 2014 9:50 am

Quizás el siguiente articulo te ayude:
http://delphi.about.com/od/windowsshellapi/a/delphi-dll-loading-static-dynamic.htm

Esta idea me rondaba desde que leí tu situación:
¿No será mejor crear un .exe aparte que se encarge del envío del correo y que requiere esa versión de dll? así cuando requieras el envío "especial" de correo invocas ese .exe o lo dejas corriendo todo el tiempo que sea necesario al arrancar tu aplicación principal.
Para controlar que solo corra una instancia del exe .exe: http://delphi.about.com/od/windowsshellapi/l/aa100703b.htm
Código: http://delphi.about.com/library/code/ncaa100703a.htm

Dicho post habla de usar dos .dll con el mismo nombre pero no son "iguales", algo similar a tu situación.
https://stackoverflow.com/questions/2675519/load-two-instances-of-the-same-dll-in-delphi
Yes, the dll contain certain processed information from the database. The two dll's are connected to separate databases and have different information. I'm trying to exchange information between them – Tom

I don't think that's possible.
You'd have to write a .exe which loads the dll. Then you can span multiple processes (the .exe), and each will run its own instance of the dll. You'd have to use IPC (inter process communication) techniques to communicate with the .exes. Certainly doable, but not exactly a no-brainer. - Giel

This is the safest, and official, way to do it without resorting to lower level hacks. – Remy Lebeau

¿problemas de traducción?: http://translate.google.com/

sergio_octavio
Mensajes: 41
Registrado: Lun Dic 17, 2012 1:25 pm

Re: Ayuda con cambiar nombre a libeay32.dll Parte #2

Mensajepor sergio_octavio » Mié Sep 10, 2014 7:06 pm

b.t encontro solucion a su detalle de la invocacion de las dll ,,yo tengo el mismo problema,,saludos


Volver a “Delphi”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados