Einzelnen Beitrag anzeigen

omata

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

Re: Quick Report - force new page - Duplex Probleme

  Alt 2. Jun 2009, 23:36
Welche Version?

Ab Version >= 4.0 gibt es...
Self.PrinterSettings.ExtendedDuplex Bei Version < 4.0 kann man die Printers.pas korrigieren...

Printers.pas in das eigene Projektverzeichnis kopieren und nur diese Datei ändern!

Eine neue Datei (PrintersU.pas) anlegen...
Delphi-Quellcode:
unit PrintersU;

interface

var FExtendedDuplex:integer;

implementation

initialization
  FExtendedDuplex:=-1;
end.
Kopierte und erweiterte Printers.pas...
Delphi-Quellcode:
:
procedure TPrinter.SetPrinter(ADevice, ADriver, APort: PChar; ADeviceMode: THandle);
:
begin
:
  if DeviceMode <> 0 then
  begin
    DevMode := GlobalLock(DeviceMode);
    if FExtendedDuplex >= 0 then
      DevMode^.dmDuplex:=FExtendedDuplex;
    SetPrinterCapabilities(DevMode.dmFields);
  end;
:
:
:
    if DeviceMode <> 0 then begin
      if FExtendedDuplex >= 0 then
        DevMode^.dmDuplex:=FExtendedDuplex;
      SetPrinterCapabilities(DevMode^.dmFields);
    end;
:
end;
:
Die Unit PrintersU.pas wird nun in die Uses-Klausel der Unit aufgenommen, in der der Quickreport gedruckt wird. Vor dem Druck kann dann über FExtendedDuplex der gewünschte Duplexwert in die Druckersteuerung eingeschummelt werden.

Diesen Tipp habe ich mir gerade ausgedacht und er ist so nicht getestet, ich habe damit bis jetzt nur eine PrintToFile-Steuerung realisiert, vielleicht funktioniert es ja auch für die Duplexsteuerung 8)
  Mit Zitat antworten Zitat