![]() |
JEDI - JCL -Nach Einlesen der Paperbins kein Landscape-Druck
Hi,
kurze Frage: Kann jemand diesen Fehler nachvollziehen.
Delphi-Quellcode:
Sobald ich einmal GetBinSourceList aufgerufen habe, ist es nicht mehr möglich die orientation auf poLandscape zu setzen. Es wird immer portrait gedruckt.
procedure TForm2.BitBtn1Click(Sender: TObject);
var JclPrintSet:TJclPrintSet; begin JclPrintSet:=TJclPrintSet.Create; JclPrintSet.GetBinSourceList(CbSchacht.Items); CbSchacht.ItemIndex:=JclPrintSet.BinIndex; JclPrintSet.Free; // jetzt sollte eigendlich Landscape gedruckt werden. Tut's aber nicht. printer.Orientation:=poLandscape; printer.BeginDoc; printer.Canvas.textout(0,0,'Ein Test'); printer.EndDoc; end; Version der JCL ist 1.99 Gerd |
Re: JEDI - JCL -Nach Einlesen der Paperbins kein Landscape-D
Ich habe den Fehler gefunden.
Für, die's interessiert. In der Datei JclPrint eine Zeile auskommentieren.
Delphi-Quellcode:
procedure TJclPrintSet.SetDeviceMode(Creating: Boolean);
var Res: TPoint; begin Printer.GetPrinter(FDevice, FDriver, FPort, FHandle); if FHandle = 0 then begin Printer.PrinterIndex := Printer.PrinterIndex; Printer.GetPrinter(FDevice, FDriver, FPort, FHandle); end; if FHandle <> 0 then begin FDeviceMode := GlobalLock(FHandle); FPrinter := Printer.PrinterIndex; FDeviceMode^.dmFields := dm_Orientation or dm_PaperSize or dm_PaperLength or dm_PaperWidth or dm_Scale or dm_Copies or dm_DefaultSource or dm_PrintQuality or dm_Color or dm_Duplex or dm_YResolution or dm_TTOption; UpdateDeviceMode; //****************************************************************** // Dieser Aufruf bewirkt, das die Orientation nicht // mehr geändert werden kann. Dehalb habe ich dies // auskommentiert. // // FDeviceMode^.dmFields := 0; // //****************************************************************** SetBinArray; SetPaperArray; end else begin FDeviceMode := nil; if not Creating then raise EJclPrinterError.CreateRes(@RsDeviceMode); FPrinter := -99; end; Res := GetPrinterResolution; dpiX := Res.X; dpiY := Res.Y; if FHandle <> 0 then GlobalUnLock(FHandle); end; Gerd |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:26 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 by Thomas Breitkreuz