Detecting Whether Report Printed to Printer

TECH TIP: Detecting Whether Report Was Printed to the Printer

The Report.AfterPrint event can be used to determine whether the report was printed to the printer (rather than preview, …).

Example:

procedure TForm1.ppReport1AfterPrint(Sender: TObject);
begin

  if (ppReport1.PrinterDevice <> nil) then
    ShowMessage('Report was printed to the printer');

end;

Note: If the user cancels the report while it is running, then the Report.OnCancel event will fire, followed by the Report.AfterPrint event.

Example:

procedure TForm1.ppReport1Cancel(Sender: TObject);
begin
  ShowMessage('Printing cancelled by user');

end;