2009-09-08 10 views
6

Pracuję z obiektami ActiveX Delphi i Crystal Reports 9.0.Czy istnieje sposób na załadowanie pliku Crystal Report 9.0 ze strumienia?

wiem, że mogę załadować raport z pliku jak poniżej:

crApplication.OpenReport (AFileName)

Jednak chciałbym, aby zapisać swój raport w pamięci i otwórz go z pamięci zamiast plik. Nie chcę tworzyć żadnych plików tymczasowych na dysku.

Wszelkie pomysły?

Dzięki za poświęcony czas.

+0

gula. Chciałbym również wiedzieć o tym (ale dla C#) i po wielu goolowaniu wydaje się, że to może nie być możliwe, co jest naprawdę głupie w mojej opinii. Można by pomyśleć, że najbardziej niesamowity autor raportów powinien mieć coś takiego. – Earlz

+0

Całkowicie się z tobą zgadzam. Rozwijają CR od lat i nikt nigdy nie potrzebuje takiej funkcji? Powinno być dostępne od wersji ver. 1.0 – Wodzu

+0

Ale na pewno trzeba było już napisać plik raportu, więc nie tworzyłbyś plików tymczasowych, tylko używasz pliku raportu? Jestem zainteresowany tym, co próbujesz osiągnąć. –

Odpowiedz

2

Ta odpowiedź przychodzi późno, ale lepiej późno niż wcale ...

Można spróbować z plikiem z atrybutami FILE_ATTRIBUTE_TEMPORARY i FILE_FLAG_DELETE_ON_CLOSE. Taki plik jest (jeśli dostępna jest wystarczająca ilość pamięci podręcznej) nie zapisany na dysku twardym i usuwany po zamknięciu aplikacji.

Jest BLOG który opisuje w ten sposób:

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

I ist artykuł tutaj:

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

+0

To bardzo fajny pomysł :) Jednak myślę, że plik nadal może być kopiowany w czasie kiedy aplikacja jest otwierana? W każdym razie, zasłużony +1 :) – Wodzu

+0

Cóż, nie tak łatwo, ponieważ plik jest tylko w pamięci podręcznej. Może to możliwe, ale nie bez problemów burmistrza. 100% bezpieczeństwa nie jest możliwe, każdy plik i dane w pamięci komputera można skopiować ... – Andreas

Powiązane problemy