procedure TCustomQuickRep.Preview;
begin
Application.ProcessMessages;
if PrepareQRPrinter and not QRPrinter.ShowingPreview then
begin
QRPrinter.Destination := qrdMetafile;
QRPrinter.Master := Self;
QRPrinter.OnPrintSetup := PrinterSetup;
QRPrinter.OnExportToFilter := ExportToFilter;
QRPrinter.Title := ReportTitle;
if assigned(FOnPreviewEvent) then
QRPrinter.OnPreview := FOnPreviewEvent;
QRPrinter.Preview;
CreateReport(false);
if Cancelled then
begin
QRPrinter.Free;
Exit;
end;
repeat
Application.HandleMessage
until (QRPrinter = nil) or (not QRPrinter.ShowingPreview) or Application.Terminated;
end;
end;