Einzelnen Beitrag anzeigen

mrose

Registriert seit: 21. Feb 2005
22 Beiträge
 
#1

Change Printer in QReport Custom Preview

  Alt 2. Dez 2008, 23:00
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:

  QRPReview1.QRPrinter.Print; 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.

Delphi-Quellcode:
  xPrinterNames:=QRPreview1.QRPrinter.Printers;

  // if not default printer then search for real printer
  if sPrinterName <> '-1then
   for iPrinterIndex:=0 to xPrinterNames.Count-1 do
     if xPrinterNames.Strings[iPrinterIndex]= sPrinterName then
     QRPreview1.QRPrinter.PrinterIndex:=iPrinterIndex;
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.

Was mache ich falsch?

Bin für jede Idee dankbar.

Matthias
  Mit Zitat antworten Zitat