0

私はVB.Net WinFormsアプリに取り組んでいます。このアプリは、ユーザーが行ごとに下に移動し、ActiveReports ドキュメントのパッケージを印刷する生産ラインの行を表示します。このパッケージには、最大 9 つのレポートを含めることができます。パッケージが選択され、印刷するように指示されると、ActiveReports のメカニズムを使用してマシンのデフォルト プリンターに直接送信されます。

rpt.Document.Print(False, False, True)

これらのレポートは、ファイル システムから取り込まれたイメージも使用します。行をすばやく実行すると、次のことが発生することがあります。

A generic error ocurred in GDI+

続いて:

Exception of type "System.OutOfMemoryException" was thrown.

これにより、一部のドキュメントが印刷されず、戻って印刷されなかったドキュメントを特定する必要があります。マシンのメモリが不足していないことはわかっているので、プリンターのメモリがいっぱいになっているか、レポートが印刷時に同じ画像を使用しようとして問題が発生していると推測されます。

プリンターのメモリがいっぱいになっている場合、印刷キューへのドキュメントの追加を遅くする方法はありますか、または少なくともスペースを待つために一時停止しますか? 私はちょっと途方に暮れており、何か提案をいただければ幸いです。

ありがとう。

4

1 に答える 1

1

ActiveReports に組み込まれているキャッシュ機能を使用することにしました。これにより、プリンターの問題の一部が軽減されたようです。また、印刷キューにドキュメントを追加する前にメモリを確実にクリアするために、スレッドのスローダウンも追加しました。ありがとう。

于 2011-10-07T18:35:01.830 に答える