我的问题是,我的收据打印机不时停止打印。就像60多次打印后,它会停止,然后它不再打印,除非我重新启动打印机和程序。
我不太确定这种情况的问题在哪里,可能是打印机本身或加载数据的Crystal Report。
到目前为止,我们所做的是添加代码行,以便刷新加载到Crystal Report中的数据。然而,这并没有解决问题。
我使用的收据打印机是EPSON TM-T81
之前遇到此类问题的人?
非常感谢您的回复。
吉姆
答案 0 :(得分:0)
对不起,这太晚了,但它是设计的。 .net运行时中使用的晶体运行时允许maximum number of prints。你的问题没有说......
解决方案是在每次打印后正确清理所有水晶资源。也就是说,处理报告,然后在加载下一个报告之前将其设置为null。不要理会注册表修改,因为这些修改总会被破坏。
我必须编写一个打印管理器类,它可以有效地进行单线程打印操作以及处理报告资源的清理。结果是我能够打印/导出无限数量的报告。
有些事情:
CrystalReportViewer1.Dispose(); // if using the viewer
CrystalReportViewer1 = null;
report.Close(); // I can't remember if this is part of the reportDocument class
report.Dispose();
report = null;
GC.Collect(); // crazy but true. Monitor the temp folder to see the effect