2011-09-01 27 views
0

私はVB.Net WinFormsアプリケーションを開発中です。このアプリは、ユーザーが行ごとに下に行くActiveReportsドキュメントのパッケージを印刷する生産ラインの行を表示します。このパッケージには、最大9個のレポートを含めることができます。パッケージを選択して印刷するように言われ、それがその後、あるActiveReports'メカニズムを使用してマシンのデフォルトのプリンタに直接送信されます:一般的なGDI +例外の後にOutOfMemory例外があります。

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

これらの報告書はまた、画像を使用して、ファイルシステムから引き込みます。彼らはすぐに行を実行すると、彼らは時々発生します。これは、一部の文書を印刷しないように、彼らは戻って、「なかったのどれを把握する必要が原因

Exception of type "System.OutOfMemoryException" was thrown. 

A generic error ocurred in GDI+ 

を次に続きます印刷する。私はマシンがメモリ不足ではないことを知っているので、私の前提は、プリンターのメモリがいっぱいになっているか、印刷時に同じイメージを使用しようとしているということです。

プリンタのメモリがいっぱいの場合は、プリントキューへのドキュメントの追加を遅くする方法や、少なくともスペースを待つために一時停止する方法がありますか?私は一種の喪失であり、どんな提案も感謝しています。

ありがとうございました。

+1

サポートは、ベンダーにお問い合わせください。 –

+0

私は彼らにもサポートメールを送ってきましたが、まだ返信を待っています。パッケージ間でスレッドをスリープさせて、プリンタのメモリがクリアされるのを待つかどうかを調べるつもりです。また、レポートをPDFとして保存してプリンタに送信することも考えていました。 Adobe SDKを使用してファイルから直接プリンタにPDFを送信できますか? –

+0

「GDI +で一般的なエラーが発生しました」というエラーが発生しましたか?これは、問題を隔離するのに大いに役立ちます。 –

答えて

1

私はActiveReportsに組み込まれているキャッシング機能を使用することに決めました。それはプリンタの問題のいくつかを緩和するように思えた。また、印刷待ち行列にさらに文書を追加する前にメモリがクリアされるようにスレッドの速度を落としました。ありがとう。

関連する問題