【问题标题】:How to cancel a FastReport print job?如何取消 FastReport 打印作业?
【发布时间】:2013-06-05 13:50:51
【问题描述】:

如何在 FastReport 的打印作业对话框中取消打印作业时显示 MessageBox?

【问题讨论】:

  • 您好,用户。欢迎来到 StackOverflow。我稍微清理了您的问题,但我不确定“如果取消打印作业则显示消息框”的确切含义。您的意思是“显示一个对话框供用户用于取消打印作业”还是“检测用户是否取消了打印作业,如果是,则显示一个消息框”?
  • 您是否在寻找:如果不是 frxReport1.Print 则 Showmessage('Aborted');
  • 通常最大的麻烦不是报告引擎,而是底层数据源。长时间运行的查询返回数千行。
  • 为什么它比它更难:) 非常感谢...正在尝试使用 whnd 和其他解决方案,但我不知道这个简单的解决方案是否有效....谢谢一次再次

标签: delphi fastreport


【解决方案1】:

当 frxReportPrint.Print 返回 false 时,要么是用户取消,要么是打印出错。所以你需要检查 Errors.Text 是否为空,例如:

if not frxReportPrint.Print then
  if frxReportPrint.Errors.Text = '' then
    UserCancel := true
  else
    Abort; // something wrong during printing.

【讨论】:

    【解决方案2】:
    if frxReport1.Print then Showmessage('Aborted');
    

    【讨论】:

    • frxReport1.Print 返回 true 表示打印正常,未取消。
    猜你喜欢
    • 2019-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-15
    • 2013-05-29
    • 2011-10-20
    相关资源
    最近更新 更多