gpt4 book ai didi

delphi - 如何修复 Nevrona Rave 中的无限打印循环错误

转载 作者:行者123 更新时间:2023-12-03 15:31:47 25 4
gpt4 key购买 nike

Nevrona Designs' Rave Reports是供 Embarcadero's 使用的报告引擎Delphi IDE。

这就是我所说的 Rave Endless Loop bug。在狂欢报告中版本 6.5.0 (VCL10) 与 Delphi 2006 捆绑在一起,有一个困扰许多 Rave 报告开发人员的臭名昭著的错误。如果你有一个非空数据集,并且该数据集的数据行完全适合页(也就是说,寡行数为零),然后在 PrintPreview 上,Rave 将陷入无限循环生成页面。

此问题之前已在此新闻组中报告过以下标题:

  1. “错误:生成无限页面”;雨果·希拉姆 2006年9月20日 8:44PM
  2. “Rave 循环错误。请帮忙”;托马斯·拉扎尔 11/07/2006 7:35PM
  3. “循环整页数据?”;托尼·奇斯蒂安森 23/12/2004 3:41PM
  4. 另一投诉人对(3)的答复;奥利弗·皮什
  5. “无尽的lopp打印错误”; Richso 9/11/2004 4:44PM

在这些帖子中,Nevrona 没有做出任何回应,也没有已报告解决方案。

联盟新闻组可能也报道了该问题(nevrona.public.rave.reports.general),即:6、“持续生成报告”;乔巴德 20/11/2005虽然我不清楚 (6) 是否是 Rave Endless 循环 bug 或者另一个问题。这篇文章确实得到了 Nevrona 的回复,但它是更多与多个区域相关(“使用时存在问题多个区域会出现分页符。”)而不是零的问题寡妇。

最佳答案

这更像是一种解决方法,而不是真正的解决方案。我首先在 Nevrona 新闻组上发布了此解决方法(Group=nevrona.public.rave.developer.delphi.rave;Subject=“您是否患有 Rave Endless Loop bug?:解决方法已公布。”;Date=13/11/2006 7:06 PM)

这是我的解决方案。这更多的是一种解决方法而不是一个好的方法长期解决方案,我希望 Nevrona 能给这个问题一些帮助近期要引起高度重视。

  1. 根据您的特定报告布局,计算最大行数每页。假设这是 40。
  2. 设置一个计数器来计算页面中的行数(而不是整个报表中的行数)。您可以通过事件脚本或 CalcTotal 组件来完成此操作。
  3. 为主数据带定义 OnBeforePrint 脚本化事件处理程序。
  4. 在此事件处理程序中,当每页行计数低于最大值一或二时(在我们的示例中为 38),将主数据带的 FinishNewPage 属性设置为 True。在所有其他情况下将其设置为 False。这样做的效果是为每个页面提供非零数量的寡妇(在本例中为 1..38),从而避免出现 Rave 无限循环问题的情况。

关于delphi - 如何修复 Nevrona Rave 中的无限打印循环错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com