Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-09-2004
Fizban Fizban is offline
Registrado
 
Registrado: oct 2003
Posts: 5
Poder: 0
Fizban Va por buen camino
Buenas otra vez,


He intentando probarlo, pero me quedo atascado...


Aquí intento grabar la parte del mensaje de Texto a un TStream pero me da un error de violación de acceso a memoria.


TidTExt(RecMensaje.MessageParts.Items[intindex]).Body.SaveToStream(TIdMessageCoder.SourceStream);

TIdMessage.LoadFromStream(TIdMessageCoderSourceStream);

Y ahí es dónde tengo el problema.

Gracias de nuevo

Y un saludo

Última edición por jachguate fecha: 08-09-2004 a las 07:12:43. Razón: Quitar letra demasiado grande
Responder Con Cita
  #2  
Antiguo 08-09-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Cool

Hola

Cita:
Empezado por Fizban
Aquí intento grabar la parte del mensaje de Texto a un TStream pero me da un error de violación de acceso a memoria.


Código Delphi [-]
  TidTExt(RecMensaje.MessageParts.Items[intindex]).Body.SaveToStream(TIdMessageCoder.SourceStream);
  TIdMessage.LoadFromStream(TIdMessageCoderSourceStream);

Y ahí es dónde tengo el problema.
Si el adjunto es un mensaje, en primer lugar, el MessagePart no será de la clase TidText, sino de la clase TidAttachment, que es el molde que debieras aplicar. De hacer este casteo no seguro, es muy probable que provenga el Access Violation que obtenes. En otra ocasión, te recomiendo comprobar primero la clase de un objeto, o bien realizar un casteo seguro, con el operador AS, para evitar este tipo de errores.

Ahora si he tenido delphi a mano, asi que he comprobado que el mime/type de los adjuntos que son otro mensaje es message/rfc822.

He comprobado también que esta clase (TidAttachment) no tiene método SaveToStream, pero si un método SaveToFile, con el que seguramente usando un archivo temporal o intermedio solucionarás el asunto.

Te recomiendo darte una vuelta por la ayuda de TidAttachment, y poner atención en sus propiedades: FileName, ContentType y ContentTransfer.

Hasta luego.



pd. He editado tu mensaje, que has puesto un tipo de letra demasiado grande. Si vuelve a ocurrite, se agradece que vos mismo lo edites.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate

Última edición por jachguate fecha: 08-09-2004 a las 07:15:49.
Responder Con Cita
  #3  
Antiguo 08-09-2004
Fizban Fizban is offline
Registrado
 
Registrado: oct 2003
Posts: 5
Poder: 0
Fizban Va por buen camino
El problema es que este mensaje adjunto en el MessagePart viene como TIdtext y no como TidAttachment, con lo cual no puedo realizar lo que dices.

Seguiré probando e investigando...

Muchas gracias por tu ayuda

Saludos

PD: perdona por lo de la fuente pero se me fue un poco la cabeza.
Responder Con Cita
  #4  
Antiguo 08-09-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Y si es asi, como se supone que identificas que el adjunto es otro mensaje, y no un texto cualquiera?

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 08-09-2004
Fizban Fizban is offline
Registrado
 
Registrado: oct 2003
Posts: 5
Poder: 0
Fizban Va por buen camino
porque lo veo desde la bandeja de entrada del Outlook.
Responder Con Cita
  #6  
Antiguo 08-09-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Cool

Cita:
Empezado por jachguate
Y si es asi, como se supone que identificas que el adjunto es otro mensaje, y no un texto cualquiera?
Cita:
Empezado por Fizban
porque lo veo desde la bandeja de entrada del Outlook.
Creo que no he sabido expresarme. Me referia a como identificas programáticamente que se trata de un mensaje inserto en el MessagePart, y no de otra cosa.

En otras palabras... ¿cómo hace outlook para saberlo?

¿me explico ahora?

Creo que si no fuese en un TidAttachment, con el mime type ya indicado... salvo que me haya perdido alguna parte... no habrá forma de hacerlo.

Quizas estas viendo dos mensajes diferentes... o estas agarrando el MessagePart equivocado....

Hasta luego.



pd. Supongo que el outulook seguira el estándar... al menos, el mensaje enviado ayer, y que me ha servido de prueba, es un forward enviado desde outlook express, de un forward enviado desde yahoo.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 09:16:43.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi