![]() |
Change Printer in QReport Custom Preview
Hallo,
ich hoffe mir kann jemand mit einer Idee helfen. Ich habe vor langer Zeit mal ein Programm geschrieben welches Datenbankreports via QuickReport Forms erstellt. Damals brauchte ich einen Custom Preview. Das funktioniert auch einwandfrei. Dieses Previewfenster hat auch einen Print button, der einfach nur folgendes macht:
Delphi-Quellcode:
Allerdings kommt dann der Report immer auf dem aktuellen Standarddrucker der Maschine auf der die Exe gerade läuft raus. Nun will ich in der neuen Version das Programm dahin gehend erweitern, dass ich die Ausgaben immer auf einen bestimmten (aber im Windows konfigurierten) Printer ausgebe. Der Name des Printers (wie unter Windows konfiguriert) steht in einem String (sPrinterName). Ich habe versucht, folgenden Code direkt vor dem Aufruf von QRPreview1.QRPrinter.Print auszuführen.
QRPReview1.QRPrinter.Print;
Delphi-Quellcode:
Im Debugger sehe ich, dass das Programm zur richtigen Zeit an der letzten Zeile vorbei kommt (richtiger Index). Die Zeile wird auch ohne Fehler ausgeführt. Trotzdem wird nicht der richtige Drucker angesprochen.
xPrinterNames:=QRPreview1.QRPrinter.Printers;
// if not default printer then search for real printer if sPrinterName <> '-1' then for iPrinterIndex:=0 to xPrinterNames.Count-1 do if xPrinterNames.Strings[iPrinterIndex]= sPrinterName then QRPreview1.QRPrinter.PrinterIndex:=iPrinterIndex; Was mache ich falsch? :wall: Bin für jede Idee dankbar. Matthias |
Re: Change Printer in QReport Custom Preview
Versuch mal den PrinterIndex über die PrinterSettings zu setzen...
Delphi-Quellcode:
QuickReport.PrinterSettings.PrinterIndex
|
Re: Change Printer in QReport Custom Preview
Danke,
ich hab's gerade eben selbst raus bekommen. Mein Code funktioniert schon, aber der Testreport den ich generiert habe, war einfach zu lang. Im Hintergrund hat QReport immer noch fleißig Seiten aufgebaut. Ich war einfach zu blind um das zu sehen. Hab' gleich mal einen Progressbar für den Fortschritt des Previewaufbaus eingebaut... 8) Aber Danke für die Idee.. Gruß Matthias. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz