Crystal Reports 2010 Todos los informes no se cargan una vez que el informe se ha exportado a cualquier formato en Windowsxp

StackOverflow https://stackoverflow.com/questions/5816782

Pregunta

Tengo una solución de facturación de WPF que se implementa usando Clickonce para más de 500 usuarios, Crystareports2010 se utilizaron para informar, el 85% de los usuarios tienen Windowsxp instalado en sus máquinas :(

Crystal Reports funcionan bien en las máquinas Windowsxp hasta que el usuario exporta un informe con el botón de exportación incorporado en el visor de Crystal Reports, si hizo esto, el proceso de exportación se completa con éxito, pero no puede abrir ningún otro informe en el informe en el informe en el informe en el Informe. solución hasta que reinicie la aplicación.

Export Button

Este es el error al intentar abrir un nuevo informe después de la exportación:

The Error Message

Guardo los informes en mi solución como recursos externos de contenido fuera del archivo .exe de aplicación, y los cargo a pedido, algo como esto:

var report = new ReportDocument();
report.Load(@"Reports\MyReport.rpt");

Me aseguré de que después del usuario cierre un informe para cerrar y deshacerse del objeto del documento del informe, por lo que no se filtra la memoria ni excede el número máximo de informes abiertos.

Si cambié mi implementación para guardar los informes dentro de mi solución como recursos integrados, el problema se resuelve, pero esta no es una opción porque los informes tienen un tamaño relativamente grande (200KB-450kB), será un archivo DLL grande ¡Eso se descargará a los clientes a través de Clickonce cada vez que lanzamos una nueva versión que tenga algún cambio en cualquier informe! Otra variación es agrupar cada uno, digamos cuatro informes en una DLL, y el mismo problema (1 MB-2MB sigue siendo una gran parte). Sabiendo que tenemos muchos informes y obtenemos una solicitud de cambio frecuente para estos informes de acuerdo con los cambios en las políticas de nuestro cliente. ¡Por favor ayuda!

¿Fue útil?

Solución 3

Por fin, encontré la solución :) El problema era que cuando exporta un informe de Crystal con el botón de exportación predeterminado proporcionado por el visor de Crystal Reports, ¡el botón de exportación cambia el directorio de trabajo actual de la aplicación a la ubicación de exportación! (¡Comportamiento extraño!) Y es por eso que la siguiente línea ya no funcionará:

report.Load(@"Reports\MyReport.rpt");

Así que cambié esta línea a lo siguiente:

report.Load(AppDomain.CurrentDomain.BaseDirectory + "\\" + @"Reports\MyReport.rpt");

Y funcionó como la magia :)

Otros consejos

Para resolver este problema, debe cambiar la versión .NET instalada en la máquina del cliente desde el perfil del cliente a la versión completa de .NET.

¿Está cerrando y eliminando sus documentos de informe una vez que haya terminado con ellos?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top