2009-09-08 12 views
6

Sto lavorando con Delphi e Crystal Reports 9.0 oggetti ActiveX.C'è un modo per caricare un file Crystal Report 9.0 da uno stream?

so che posso caricare un report da un file in questo modo:

crApplication.OpenReport (AFileName)

Tuttavia, vorrei conservare la mia relazione in memoria e aprirlo dalla memoria, invece di file. Non voglio creare alcun file temporaneo sul mio disco.

Qualche idea?

Grazie per il vostro tempo.

+0

urto. Mi piacerebbe anche sapere questo (ma per C#) e dopo un sacco di scherzi sembra che potrebbe non essere possibile, che è davvero stupido a mio parere. Penseresti che lo scrittore di report più sorprendente dovrebbe avere una cosa del genere. – Earlz

+0

Totaly è d'accordo con te. Stanno sviluppando CR da anni e nessuno ha mai avuto bisogno di una simile funzionalità? Dovrebbe essere disponibile dal ver. 1.0 – Wodzu

+0

Ma sicuramente hai già dovuto scrivere un file di report, quindi non avresti creato alcun file temporaneo, stai solo usando il tuo file di report? Sono interessato a ciò che stai cercando di ottenere. –

risposta

2

Questa risposta arriva in ritardo, ma meglio tardi che mai ...

Si può provare con un file con gli attributi FILE_ATTRIBUTE_TEMPORARY e FILE_FLAG_DELETE_ON_CLOSE. Tale file è (se è disponibile memoria cache sufficiente) non scritto su disco fisso e cancellato quando l'applicazione viene chiusa.

C'è un blog che descrive questo:

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

E c'è ist un articolo qui:

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

+0

Questa è un'idea molto carina :) Tuttavia, penso che il file possa ancora essere copiato durante l'apertura dell'applicazione? Comunque, ben meritato +1 :) – Wodzu

+0

Beh, non così facile, perché il file è solo nella cache. Forse è possibile, ma non senza difficoltà sindaco. La sicurezza al 100% non è possibile, ogni file e dati presenti nella memoria del tuo computer possono essere copiati ... – Andreas

Problemi correlati