Crystal Reports-使用SDK的间歇式打印机假脱机停止

2020-09-28 01:31发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我们正在使用Visual Stu...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们正在使用Visual Studio 2013构建一个32位DLL,以打印和预览内部设计的Crystal报表。 然后,我们的主软件会调用此DLL。 最新的DLL是使用32位SAP Crystal Runtime SP20(带有" CrystalDecisions.ReportAppServer"程序集)构建的。 我们使用" CrystalDecisions.CrystalReports.Engine.ReportDocument"设置参数加载报告,更改报告和子报告数据库以及表格的位置,然后使用" PrintOutputController.PrintReport(PrintOptions)"命令发送到打印机。

在客户环境中,我们间歇性地看到上述" PrintReport()"调用停止了打印。 在等待我们的DLL时,主软件会出现暂停。 通过日志,似乎DLL正在等待PrintReport()响应,该响应永远不会返回。 在打印队列中,我们可以看到文档正在等待,其他报告正在排队。 恢复的唯一方法是停止特定的打印文档或强制完全关闭主软件。 其他客户也使​​用不同的报告和打印机报告了此情况。 在本地和网络上已安装了不同的驱动程序。 已尝试使用各种操作系统,包括Windows 10.1。 所有引发相同的错误。 开发机器:Windows 7 64位,.Net 4.5,Visual Studio2013。目标客户端机器:Windows 7和8,.Net 4.5。

3条回答
SKY徐
2020-09-28 02:11 .采纳回答

西蒙,你好

我经常听到此消息,所以我搜索了如何从打印机服务获取打印机作业状态报告,并从Microsoft找到了这篇很棒的文章:

https ://msdn.microsoft.com/zh-cn/library/aa970685%28v=vs.100%29.aspx?f = 255&MSPPError = -2147217396

添加/创建一个可以查询打印机并查看问题所在的应用,这可能是驱动程序,框架或内存等问题。

将大型打印作业发送到无法在内存中保存大量信息的打印机会导致类似您的问题。

CR简单地将作业流式传输到打印机,尽管它确实等待打印机的响应,但是一旦完成就完成了作业,如果它没有答复,则该应用程序似乎挂起。

所以知道假脱机程序实际上正在产生什么错误将很有趣。

Don

一周热门 更多>