OutOfMemory Exception后面的泛型GDI +异常

时间:2011-09-01 21:46:46

标签: vb.net gdi+ out-of-memory activereports

我正在开发一个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.

这导致某些文档无法打印,他们必须返回并找出哪些文档没有打印。我知道机器没有内存不足,所以我的假设是打印机内存正在填满或报告在打印时尝试使用相同的图像并导致问题。

如果是打印机内存填满,有没有办法减慢文件添加到打印队列的速度,或者至少暂停等待空间?我有点不知所措,并希望得到任何建议。

感谢。

1 个答案:

答案 0 :(得分:1)

我决定只使用ActiveReports内置的缓存功能。这似乎减轻了打印机的一些问题。我还添加了一些减慢线程的速度,以确保在向打印队列添加更多文档之前清除内存。感谢。