In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

GPF en RichEdit HTMLToRTF

Foro de Xailer profesional en español
Responder
Avatar de Usuario
XeviCOMAS
Mensajes: 586
Registrado: Sab Mar 12, 2011 8:16 pm

GPF en RichEdit HTMLToRTF

Mensaje por XeviCOMAS »

Estoy tratando de tener un editor para procesar mails y el texto sea en format HTML.

Bien, los mails los envio perfectamente en ese formato con la clase TCDOMail... el problema lo tengo en que no puedo "escribir" modificar ese texto con un control TRichEdit. El Sample de Xailer no funciona para ese tipo de texto/archivos (aunque adentrado en el código lo pareciera, parece no estar terminado el ejemplo)... y siguiendo los pasos de la ayuda de la clase:

TRichEdit:HTMLToRTF
Convierte el archivo HTML a RTF y lo inserta en el control.
Sólo después de Create()

Parámetros
<cFile>:
Nombre del fichero
<lInsert>:
Insertar el archivo
Valor Retorno
<lOk>:
Verdadero si éxito


Lo intento así,

Código: Seleccionar todo

METHOD FormInitialize( oSender ) CLASS TFrmFraMail
   Local cHtml, n
   
   cHtml := "<HTML>"
   cHtml += "<HEAD>"
   cHtml += "<BODY>"
   cHtml += "<b> This is the test HTML message body.</b></br>"
   cHtml += "</BODY>"
   cHtml += "</HTML>"

   n := FCreate( "D:\Prueba.htm" )
   FWrite( n, cHtml )
   FClose( n )

RETURN Nil

//------------------------------------------------------------------------------

METHOD Button1Click( oSender ) CLASS TFrmFraMail
   Local oRich1

   WITH OBJECT oRich1 := TRichEdit():New( Self )
      :SetBounds( 0, 100, 619, 238 )
      :lParentFont := .F.
      :oFont := TFont():Create( "Arial", 10, 0, 400 )
      :Create()
   END

LogDebug( oRich1:lHTML )   //Devuelve .T.
   oRich1:HTMLToRTF( "D:\Prueba.htm", .T. )

RETURN Nil

pero lanza un enorme GPF !!!
Captura.PNG
Captura.PNG (82.1 KiB) Visto 2852 veces
Hago algo mal???

Gracias.
Un Saludo,
Xevi.
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9252
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: GPF en RichEdit HTMLToRTF

Mensaje por ignacio »

Buenos días Xevi

Para que ese mecanismo de conversión funcione has de tener instalado Microsoft Word en la misma máquina, ya que son necesarias ciertas DLLs. Échale un vistazo a la propiedad TRichedit:lHTML.

Saludos
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Avatar de Usuario
XeviCOMAS
Mensajes: 586
Registrado: Sab Mar 12, 2011 8:16 pm

Re: GPF en RichEdit HTMLToRTF

Mensaje por XeviCOMAS »

Ignacio... tengo todo el paquete Office 2016 instalado y funcionando perfectamente.

Además, me descargué el fichero html.cnv y lo tengo en el mismo directorio de la aplicación.

He hecho TODO lo que pone en la ayuda sobre el tema de la propiedad TRichedit:lHTML

**************************
TRichedit:lHTML
Si verdadero indica que el equipo tiene instalada la librería que distribuye Microsoft Office para convertir un archivo en formato HTML a RTF. Esta librería es HTML32.cnv. Además, convierte un archivo en formato RTF a HTML. Véase los métodos RTFToHTML y HTMLToRTF.
**************************

Lo siento, pero el GPF es inevitable!!!
Un Saludo,
Xevi.
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5706
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Re: GPF en RichEdit HTMLToRTF

Mensaje por jfgimenez »

Xevi,

por un lado... asegúrate de que estás usando Office 32 bits, no el de 64 bits. Y por otro lado, es posible que Office 2016 no esté soportado. Por lo que veo en el fuente de TRichEdit, hay referencias hasta la versión 2013, pero no la versión 2016. De todos modos, no sabría decirtelo con certeza.
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Avatar de Usuario
XeviCOMAS
Mensajes: 586
Registrado: Sab Mar 12, 2011 8:16 pm

Re: GPF en RichEdit HTMLToRTF

Mensaje por XeviCOMAS »

Pues, eso será... estoy utilizando Office2016 64bits.

Habrá alguna actualización de Xailer que lo soporte???

De momento, edito el texto con Office y lo pego al cuerpo del mensaje a enviar por mail con MemoRead()

Gracias.
Un Saludo,
Xevi.
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5706
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Re: GPF en RichEdit HTMLToRTF

Mensaje por jfgimenez »

Xevi,

no puedo asegurarlo, pero me creo que no. Las DLLs de 64 bits sólo se pueden usar desde 64 bits. A no ser que haya algún "middleware" que "traduzca" las llamadas. En windows es de lo más común; casi todas las DLLs del sistema cuenta con su "thunk" que actúa de puente entre 32 y 64 bits (https://msdn.microsoft.com/es-es/librar ... s.85).aspx). Pero en Office dudo mucho que MS ofrezca esa posibilidad.
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Responder