求助:关于ReportBuilder打印 -- by 萧月禾(300分)

  • 主题发起人 主题发起人 萧月禾
  • 开始时间 开始时间

萧月禾

Unregistered / Unconfirmed
GUEST, unregistred user!
现用ReportBuilder打印一不规则表单,只有一页纸
却偶尔出现打印无限页的情况
即预览正常,但执行打印时,其后台打印页不断递增
如果不人工中断,它会一直增加到9000甚至上万页都不停止
导致程序死机,需要注销系统才恢复正常
由于是偶尔出现的问题,所以无法跟踪到其原因
不知道各位有没有曾经遇到类似的情况,有没有办法可解决呢?
 
没有用过ReportBuilder,可尝试一下fastreport还比较用,我用的第三方控件不多
 
估计是打印驱动的问题,有的打印驱动不返回正确的纸张参数,建议先使用LQ1600K打印驱动,如没问题,则说明是您现在所用打印机的驱动问题,我使用RM就碰到过此问题,修改如下,供您参考:
WCanvas := RMPrinter.Canvas;
ScaleX := RMPrinter.ScaleX;
if ScaleX = 0 then
ScaleX := RMPrinter.PixelsPerInch.X / 96;
ScaleY := RMPrinter.ScaleY;
if ScaleY = 0 then
ScaleY := RMPrinter.PixelsPerInch.Y / 96;
 
我用的是 四通OKI5630SP 打印机
这种现象不是一直有,而是偶然发生,但每次发生后,连Word都不能正常打印了
要注销系统才行
而且在打印常规纸张,如A4纸时绝无问题,是在打印自定义(coustom)纸张时
才可能出现
 
先换打印机试,如果还有问题,就考虑你程序的bug了!
没有用过reportbuilder,不好意思!!!
 
reportbuilder很好用,我挑选了很久打印控件,最后就选择它了。
可惜没有四通OKI5630SP 打印机,要不测试一下。
 
没有用过ReportBuilder,打印内容一不一样(正常与不正常)
 
应该是你的程序有问题,加断点调试吧
report builder会掩盖一部分错误
 
我遇见过这类问题,是报表自身的问题
左边距+右边距+数据=报表的宽度
如果左右边距过大或报表的宽度过小的话就会出现那种现象,自定义的时候一定要限制一下纸张的最小宽度
 
你要注意ReportBuilder数据源数据关连时是否正确。这种现象是数据源数据集没有next,只停在第一条记录造成的。
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
887
DelphiTeacher的专栏
D
D
回复
0
查看
855
DelphiTeacher的专栏
D
D
回复
0
查看
806
DelphiTeacher的专栏
D
后退
顶部