2009-09-08 12 views
6

Estoy trabajando con Delphi y Crystal Reports 9.0 objetos ActiveX.¿Hay alguna manera de cargar un archivo Crystal Report 9.0 desde una secuencia?

sé que puedo cargar un informe a partir de un archivo de la siguiente manera:

crApplication.OpenReport (AFileName)

Sin embargo, me gustaría guardar mi informe en la memoria y abrirlo desde la memoria en lugar de archivo. No quiero crear ningún archivo temporal en mi disco.

¿Alguna idea?

Gracias por su tiempo.

+0

bache. También me gustaría saber esto (pero para C#) y después de mucho dar vueltas parece que no es posible, lo cual es realmente tonto en mi opinión. Uno pensaría que el mejor escritor de informes debería tener tal cosa. – Earlz

+0

Totalmente de acuerdo con usted. ¿Están desarrollando CR por años y nadie nunca necesita esa característica? Debería estar disponible desde el ver. 1.0 – Wodzu

+0

Pero seguramente ya tuvo que escribir un archivo de informe, por lo que no crearía ningún archivo temporal, ¿solo está usando su archivo de informe? Me interesa lo que intentas lograr. –

Respuesta

2

Esta respuesta llega tarde, pero mejor tarde que nunca ...

Usted puede tratar con un archivo con atributos FILE_ATTRIBUTE_TEMPORARY y FILE_FLAG_DELETE_ON_CLOSE. Un archivo de este tipo (si hay suficiente memoria caché disponible) no está escrito en el disco duro y se borra cuando la aplicación se cierra.

Hay un blog que describe este:

http://blogs.msdn.com/b/larryosterman/archive/2004/04/19/116084.aspx

Y hay ist un artículo aquí:

How to create temporary file (0x100) to accelerate application

+0

Esta es una muy buena idea :) Sin embargo, creo que el archivo aún se puede copiar durante el tiempo cuando se abre la aplicación? De todos modos, bien merecido +1 :) – Wodzu

+0

Bueno, no es tan fácil, porque el archivo está solo en el caché. Quizás es posible, pero no sin dificultades mayores. 100% de seguridad no es posible, todos los archivos y datos en la memoria de su computadora pueden ser copiados ... – Andreas

Cuestiones relacionadas