作成日: 2018/04/23 最終更新日: 2018/06/06
文書種別
不具合
状況
修正済み
詳細
以下の機能を使用しているレポートについて、印刷やエクスポート処理を繰り返し実行したとき、メモリリークが発生する可能性があります。
回避方法
Service Pack 1(v12.1.13445.1)で修正済み。
サービスパックを適用せずに本事象を回避したい場合、以下の内容をご確認ください。
サービスパックを適用せずに本事象を回避したい場合、以下の内容をご確認ください。
- マスターレポートを使用している(RDLレポートのみ)
有効な回避方法が存在しません。
マスターレポートを使用せず、単体のレポートとして構成してください。
- スクリプトを使用している
こちらの問題については、1つのレポートインスタンスに対して実行される描画処理を1回のみにすることで回避できます。
たとえば、ループ処理でエクスポートを繰り返す場合には、以下のようにループの1番内側にusingステートメントを記述し、1回エクスポートするごとにインスタンスの破棄が行われるようにする方法が有効です。
◆サンプルコード(VB.NET)
Imports GrapeCity.ActiveReports
Imports GrapeCity.ActiveReports.Document
-----
For ...
For ...
Using rpt As New PageReport
rpt.Load(...)
Using doc As New PageDocument(rpt)
doc.Render(...)
End Using
End Using
Next
Next
◆サンプルコード(C#)
using GrapeCity.ActiveReports;
using GrapeCity.ActiveReports.Document;
-----
for (...)
{
for (...)
{
using (PageReport rpt = new PageReport())
{
rpt.Load(...);
using (PageDocument pageDocument = new PageDocument(rpt))
{
pageDocument.Render(...);
}
}
}
}
旧文書番号
41778