2010-09-21 20 views
6

Crystal Reports 11 (craxdrt.dll 11.5.7.1048) Windows 7Crystal Reports/Windows 7: informes de Crystal pide un cliente de correo electrónico predeterminado, y publica un error

estoy usando Crystal Reports para la exportación a un documento PDF, usando CRYSTALCRAXDRT :: IReport :: Export, y estoy recibiendo un error, solo Windows 7.

"No hay ningún programa de correo electrónico asociado para realizar la acción solicitada. Instale un programa de correo electrónico o, si ya hay uno instalado, cree una asociación en el panel de control Programas predeterminados."

De nuevo, no estoy tratando de enviar correos electrónicos, solo crea un documento.

he presentado un pequeño esfuerzo de depuración en esto, y lo que parece estar sucediendo es la siguiente:

  1. que llamo en craxdrt.dll través de la interfaz IReport, función de exportación (...), y luego, monitoreando con procmon, encuentro que hay varios centenares de consultas de registro para el correo electrónico predeterminado, contactos, etc.
  2. Parecería que craxdrt.dll está construyendo una estructura de datos de gran tamaño antes de la tarea con la información que sea podría necesitar una familia de funciones.
  3. Hay un error publicado cuando el programa no puede encontrar un cliente de correo electrónico predeterminado

Los problemas con este:

  1. Windows 7 no se distribuye con un cliente de correo electrónico predeterminado, e investigación temprana parece indican que instalar uno no necesariamente mejora el problema. En cualquier caso, no espero que todos nuestros clientes tengan uno instalado, ni nuestros clientes esperan tener uno instalado por nosotros.
  2. En ausencia de la necesidad real de un cliente de correo electrónico (es decir, en el caso anterior), seguimos recibiendo este mensaje de error emergente.

Nota: Curiosamente, esta realidad no impiden que el usuario pulsa el botón de exportación de nuevo, y de hecho, si el usuario hace esto, el error no no se presenta, como las consultas de registro Aparentemente solo se realizan una vez por carga o uso de craxdrt.dll.

+0

+1 para su investigación. –

+0

+1 para investigación y detalles. – PowerUser

Respuesta

1

creo que se echa en falta establecer el ExportOptions antes de exportar:

Dim crxReport As Report 
Set crxReport = Prepare() 

crxReport.ExportOptions.FormatType = crEFTPortableDocFormat 
crxReport.ExportOptions.DestinationType = crEDTDiskFile 
crxReport.ExportOptions.DiskFileName = "C:\temp\Report.PDF" 

crxReport.Export (False) 
+0

Esto parece bastante probable; Lamento que ya no estoy trabajando en ese contrato, o podría probarlo :-). Muchas gracias por la respuesta; ¡Espero que sea útil para otros a medida que vayan surgiendo! – Benboy

Cuestiones relacionadas