AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[QReport] Massive Probleme nach PrinterSetup

Offene Frage von "Kinimod8"
Ein Thema von Kinimod8 · begonnen am 24. Okt 2005 · letzter Beitrag vom 25. Okt 2005
Antwort Antwort
Kinimod8

Registriert seit: 9. Jan 2004
Ort: Barsbüttel
317 Beiträge
 
Delphi 6 Personal
 
#1

[QReport] Massive Probleme nach PrinterSetup

  Alt 24. Okt 2005, 18:34
Hallo,

ich habe einen Report mit QuickReport Version 2 erstellt und möchte ihn jetzt drucken. Klappt soweit problemlos. Wenn ich jedoch den PrinterSetup-Dialog (oder auch TPrintDialog) vor dem Druck öffne, erscheint bei jedem Aufruf von QuickRep1.Print; oder QuickRep1.Preview; die Fehlermeldung (EPrinter) "Druckerindex außerhalb des zulässigen Bereiches".

Passiert übrigens auch nach Aufruf des QuickReport-internen Dialogs. Kann mir jemand helfen?

Dominik
Dominik Peters
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: [QReport] Massive Probleme nach PrinterSetup

  Alt 24. Okt 2005, 22:21
Moin,

ich kenne Quickreport 2 nicht, arbeite mit Quickreport 3.
Aber versuch mal den Drucker über Quickreport.QRPrinter.PrinterIndex einzustellen. Mit -1 wird der Standarddrucker benutzt.

Also...
Delphi-Quellcode:
Quickreport.QRPrinter.PrinterIndex:=-1;
Quickreport.Print;
Das eingebaute Druckersetup in der Preview hat soviel ich weiss den Fehler, dass die ausgewählten Einstellungen beim Schliessen nicht in den QRPrinter übernommen werden. Wie du das hinbekommst, weiss ich jetzt leider auch nicht, dafür müsstest du den Quellcode von den Quickreports haben.
Ohne Quellcode würde ich eine neue Previewform selber bauen und diese dann regristieren (RegisterPreviewClass).
Dort könnte das setzen der Einstellungen dann gehen. Ob das allerdings auch schon unter Quickreport 2 möglich ist, weiss ich leider nicht.

MfG
Thorsten
  Mit Zitat antworten Zitat
Benutzerbild von MarcoWarm
MarcoWarm

Registriert seit: 10. Sep 2003
Ort: Großhennersdorf
532 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

Re: [QReport] Massive Probleme nach PrinterSetup

  Alt 25. Okt 2005, 09:53
QR hat bei uns derart Probleme mit manchen virtuellen Druckertreibern gemacht.
Marco Warm
TUO
TheUnknownOnes.net
  Mit Zitat antworten Zitat
Kinimod8

Registriert seit: 9. Jan 2004
Ort: Barsbüttel
317 Beiträge
 
Delphi 6 Personal
 
#4

Re: [QReport] Massive Probleme nach PrinterSetup

  Alt 25. Okt 2005, 16:35
Ich habe ein bisschen weitergesucht und habe im QR-Tutorial auf dsdt.info den Tipp gefunden, den Standard-Drucker zu ändern.
Hab ich also probiert:
Delphi-Quellcode:
procedure SetDefaultPrinter(PrinterName: string);
var
  I: Integer;
  Device: PChar;
  Driver: PChar;
  Port: PChar;
  HdeviceMode: THandle;
  aPrinter: TPrinter;
begin
  Printer.PrinterIndex := -1;
  GetMem(Device, 255);
  GetMem(Driver, 255);
  GetMem(Port, 255);
  aPrinter := TPrinter.Create;
  try
    for I := 0 to Printer.Printers.Count - 1 do
    begin
      if Printer.Printers[i] = PrinterName then
      begin
        aprinter.PrinterIndex := i;
        aPrinter.getprinter(device, driver, port, HdeviceMode);
        StrCat(Device, ',');
        StrCat(Device, Driver);
        StrCat(Device, Port);
        WriteProfileString('windows', 'device', Device);
        StrCopy(Device, 'windows');
        SendMessage(HWND_BROADCAST, WM_WININICHANGE,
          0, Longint(@Device));
      end;
    end;
  finally
    aPrinter.Free;
  end;
  FreeMem(Device, 255);
  FreeMem(Driver, 255);
  FreeMem(Port, 255);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 PrintDialog1.Execute;
 SetDefaultPrinter(Printer.Printers[Printer.PrinterIndex]);
 QuickRep1.Preview;
end;
Mein HP-Deskjet-Drucker hat normalerweise den Index 3. Nach Aufruf von dem PrintDialog wird der Printer-Liste (Printer.Printers) temporär ein Eintrag zugefügt, nämlich "HP Deskjet 3600 Series an USB 000003" (Index 6).

Nun versucht die Procedur SetDefaultPrinter den Drucker "HP Deskjet 3600 Series an USB 000003" als Standarddrucker zu setzen. Aber keine Chance für diese Procedur existiert nur der Drucker "HP Deskjet 3600 Series"!

Wie bekomme ich jetzt das "an USB 000003" weg?
Dominik Peters
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: [QReport] Massive Probleme nach PrinterSetup

  Alt 25. Okt 2005, 21:13
@MarcoWarm: Super Tip, danke hilft bestimmt das Problem zu lösen.

@Kinimod8: Hast du eigentlich auch mal ausprobiert, was ich geschrieben habe? Was ist mit QRPrinter? Was bringt das Umstellen des Default-Druckers, wenn der Quickreport nicht auf den Default gestellt ist?

Verwunderte Grüsse
Thorsten
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz