cancel
Showing results for 
Search instead for 
Did you mean: 

CrystalReoptViewerの実装方法

Former Member
0 Kudos

CrystalReport2008評価版をVS2005にインストールしてWebアプリを作成し、CrystalReportViewerでデータを表示、印刷を行います。

このときCrystalReportViewerを表示し、コントロールの印刷アイコンを押すと

通信エラーが発生しました。印刷は停止されます。

というダイアログが出ることがあります。

プログラムとしてはサンプルではPage_LoadでCrystalReportViewerにデータを再セットしているが、CrystalReportViewerのLoadやNavigateメソッドでデータの再セットを行っています。

しかし、データが多く印刷枚数が20枚以上のとき最初の印刷で上記のエラーが発生することがあります。

そこで、この掲示板をみるとCrystalReportViewerのUnloadメソッドで明示的にCloseやDisposeを行っている例がみられたので、ためしにUloadメソッドでCrystalReportViewerをDisposeするよう実装してみると上記のエラーが発生しなくなりました。

ちなみにタスクマネージャのプロセスをみるとUnloadのDispose実装前は印刷を繰り返すとASP.NETがどんどんメモリを消費していったのに、UnloadのDispose実装後は適時メモリ解放が行われ、メモリ消費があるピークまでに抑えられるようになりました。

よって、CrystalReportViewerを使用する場合はUnloadで明示的にDisposeする必要があると思われますが、サンプルをみてもその例はなく、これで正しいのか確証がもてません。

CrystalReportViewerのUnloadで明示的にDisposeすべきなのか教えてください。

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

はい、その通りです。明示的に Dispose してください。

Answers (0)