2009-09-08 78 views
6

我正在使用Delphi和Crystal Reports 9.0 ActiveX對象。有沒有辦法從流中加載Crystal Report 9.0文件?

我知道,我可以從這樣的文件中加載報告:

crApplication.OpenReport(AFileName)

不過,我想我的存儲報告中的內存和存儲,而不是打開它文件。 我不想在我的磁盤上創建任何臨時文件。

任何想法?

謝謝你的時間。

+0

腫塊。我也想知道這個(但是對於C#),並且在經過大量的goolging之後,它似乎不可能,這在我看來確實是愚蠢的。你會認爲最驚人的報告作者應該有這樣的事情。 – Earlz 2009-12-11 15:22:06

+0

Totaly同意你的意見。他們正在開發CR多年,沒有人不需要這樣的功能?它應該可用,因爲ver。 1.0 – Wodzu 2009-12-11 22:13:06

+0

但是你肯定已經寫過報告文件了,所以你不會創建任何臨時文件,你只是使用你的報告文件?我對你想要達到的目標感興趣。 – 2009-12-22 14:31:16

回答

2

這個答案來得晚,但遲到總比不到好...

您可以用屬性FILE_ATTRIBUTE_TEMPORARY和FILE_FLAG_DELETE_ON_CLOSE文件試試。這樣的文件(如果有足夠的高速緩存可用)不寫在硬盤上,並在應用程序關閉時刪除。

有描述該BLOG的:

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

而且這裏有一個北京時間文章:

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

+0

這是一個非常好的想法:)但是,我認爲該文件仍然可以在應用程序打開的時候被複制?無論如何,當之無愧+1 :) – Wodzu 2011-05-01 13:01:11

+0

好吧,不是那麼容易,因爲文件只在緩存中。也許這不可能,但不是沒有市長的困難。 100%的安全性是不可能的,您的計算機內存中的每個文件和數據都可以被複制... – Andreas 2011-05-11 08:21:53

相關問題