Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Error AccesViolation at 00000000 tras enviar email con Indy (https://www.clubdelphi.com/foros/showthread.php?t=71834)

phirum1984 13-01-2011 11:46:47

Error AccesViolation at 00000000 tras enviar email con Indy
 
Hola a todos.

Explico mi problema que seguro que me echais una manita como en anteriores veces jeje.

El caso es que trabajo con Delphi 7 y las Indy 10 (última versión), además coloco la última versión de las librerías SSL junto al ejecutable en la misma carpeta que el programa, y me llevé toda la tarde y noche de ayer intentando conseguir que funcionara y no había manera.

Probé incluso los ejemplos del programa "GmailSend" en este hilo ('URLdelClubDelphi'/foros/showthread.php?t=40611, lo pongo así porque aún no puedo poner enlaces) y no me funcionaban, y también la función que hay al final en la página 2 y me pasaba lo mismo, siempre me daba el error "Could not load SSL library" o algo así.

Finalmente lo conseguí a altas horas de la madrugada como a tantos programadores nos pasa XD. La única forma posible que encontré finalmente fué añadiendo al uses "IdSSLOpenSSLHeaders", y poniendo en algún lugar (en el Create del formulario, o en el OnClick del botón que envía el email..) la instrucción "IdSSLOpenSSLHeaders.Load;"

Pues bien, así me envía el email perfectamente, pero me surge ahora el problema que si uso este método que es el único que funciona me da al salir del formulario un error de "Access Violation at adress 00000000", pienso que debe tener algo que ver con esa instrucción ya que sólo me sale ese error cuando la uso.
Aclaro que si no uso la línea "IdSSLOpenSSLHeaders.Load" siempre me da el error de que no encuentra las librerías y están en el mismo directorio, y en cuanto pongo esa instrucción me envía perfectamente, pero al cerrar el programa me da el error de AccesViolation.

He probado a usar la instrucción "IdSSLOpenSSLHeaders.Unload;" pero no funciona, de hecho me da error de AccessViolation también si lo hago. Intento hacer ".Free" a todos los componentes "IdSMTP, IdMessage y IdSSLIOHandlerSocketOpenSSL" tras haberlos usado pero me sigue dando el mismo error.

No se me ocurren más ideas o cosas para probar asi que por favor, alguna sugerencia para solventar este problemilla?.
Si quereis que ponga parte del código o incluso completo (que es cortito) pedídmelo y lo pongo.
De antemano garcias.

phirum1984 17-01-2011 23:16:02

Mas de 400 visitas a este tema y nadie me puede ayudar?

Por favor, alguna sugerencia o idea...
Gracias de antemano.

Enan0 18-01-2011 20:27:58

El access violation es sinduda por algun objeto que estas intentando liberar sin que haya sido creado antes!

En cuanto a tu problema, te adjunto un ejemplo.

Con este fuente utlizando Delphi 7 e INDY 10 en su ultima version, (tambien debes tener actualizado las DLL del SSL)

podes enviar y recibir emails desde Gmail (utilizando IMAP con SSL y SMTP con SSL)

incluido en el ZIP

Comentario deberias bajarte la ultima version de los componenetes indy y descomprimirlos en la carpeta donde pongas el fuente dentro una una sub carpeta llamada INDY10 o, modificar las propiedades del proyecto

http://www.terawiki.clubdelphi.com/a...st_Indy_10.zip

Saludos

PS: te recomiendo que lo compiles con delphi 7 o superior, Delphi 5 y 6 generan un access violation ante cualquier Exception el cual por el momento no fue solucionado por la gente del proyecto INDY

saludos

phirum1984 26-01-2011 18:01:08

Gracias por el ejemplo y por tu ayuda, es cierto que con tu ejemplo me funciona sin darme error, así que lo investigaré.

En cuanto a mi aplicación no era error de nada que creara o destruyera, al final descubrí que el fallo estaba en el archivo de la librería Indy, siempre lo daba en una cierta línea de código, poniendo esa línea como comentario con // ya no me daba el error.

De todas formas mil gracias por tu tiempo y por el ejemplo, me será de ayuda. Un saludo.

maru_onofre 12-03-2012 05:22:46

tengo el problema
 
me podrias explicar como solucionar el problema es esto momento se me presenta a mi gracias y espero tu pronta respuesta

Oscar Benitez 19-03-2012 09:56:17

Descargar el ejemplo
 
Hola enan0, no puedo descargar el ejemplo, el link está roto, lo podrías actualizar? me interesa mucho, Gracias.

Casimiro Notevi 19-03-2012 10:54:53

El ejemplo está en nuestro FTP, concretamente aquí.

javier12345 10-04-2013 14:46:44

access violation adress 0000000 in delphi
 
Buenas tardes, este error me salía tambien y lo que pasa es que estaba haciendo un query para mostrar los datos en mi reporte pero un campo de la tabla que utilizo estaba vacío así que generaba un error de access violation adresss 000000.

Lo que hice fue validar luego de hacer el query si no habia datos en el campo que utilizo, no me muestre nada y si los hay que me los muestre en el reporte. Esto me quitó el error.

espero haber ayudado.

Saludos,
Javier López

toro203 12-01-2015 01:49:21

Como hiciste para solucionar este tema
 
hola amigo phirum me gustaria saber en que libreria pusiste el comentario para que no te de el error que mencionaste antes muchas gracias

toro203 14-01-2015 20:40:12

Phirum me gustaria saber como hiciste para solucionar el problema de access violation que te daba tu progama tras enviar un mail a mi me pasa exactamente lo mismo y no he podido resorverlo muchas gracias

Casimiro Notevi 14-01-2015 21:02:16

Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración :)


La franja horaria es GMT +2. Ahora son las 07:54:32.

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