打印 的时候 出现 out of memory, 谢谢帮忙

tigerielool 2018-12-15 08:35:29
long job

job = PrintOpen( )
for li=1 to 1000
......
PrintDataWindow(job, dw_EmpDetail)
......
end if
PrintClose(job)


打印到372页的时候,就出现 out of memory 错误,无法继续。



后来换了方法
long job
for nn=1 to 10
job = PrintOpen( )
for li=1 to 100
......
PrintDataWindow(job, dw_EmpDetail)
......
end if
PrintClose(job)
next

前面3个100页正常打印,第四个100页,当打印到第72页时,又出现 out of memory 的错误。


麻烦各位看看,是什么原因,怎么解决。谢谢



...全文
1475 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hxbkkk 2019-11-27
  • 打赏
  • 举报
回复
你这个功能的主要目的是什么?
sara1800 2019-04-26
  • 打赏
  • 举报
回复
OUT OF MEMORY 可能是你的表里的数据取的时候出现了大幅度的数据量。可以检查你的SQL语句定义和数据窗口中的约束定义
另外,还可能是打印机的驱动不兼容,由于使用了兼容而不是专用驱动文件,内存申请部分会容易出错,导致提示
还有一种情况,是你的C盘文件过多。主驱动器的缓存不够。
另外,有些打印机自己可以申请大量内存。这时候,就要考虑打印到PDF文件上,再使用打印机打印PDF文件
tigerielool 2019-04-15
  • 打赏
  • 举报
回复
请教一下,具体怎么 用 API 处理清除缓存。 谢谢回复!
PackChen 2019-03-14
  • 打赏
  • 举报
回复
PB的打印任务有缓存限制的,只能用API处理清除缓存
tigerielool 2018-12-28
  • 打赏
  • 举报
回复
这样写程序,就是想打印的 时候,用PDF虚拟打印机,直接生成一个打印文件--PDF文档。 现在发现 用别的 XPS document writer 也是类似的错误。

不知道有没有什么别的办法来解决,谢谢回复。
WorldMobile 2018-12-17
  • 打赏
  • 举报
回复
直接用dw_EmpDetail.print()试试,如果打印的数量比较大,尽量不要自己控制打印任务。
zhgwbzhd 2018-12-16
  • 打赏
  • 举报
回复
主要看这个错误是谁报的,如果是你的程序报的,需要检查自己的代码。这种可性能较小吧。
另外要是打印机的驱动报的,这种可能性较大吧。换个驱动或者打印一下,清空一下打印任务等方法。

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧