fixed exception with special printers from Olivier

git-svn-id: trunk@7235 -
This commit is contained in:
vincents 2005-06-13 07:56:39 +00:00
parent 5f280446fe
commit f9efe7ac15

View File

@ -160,6 +160,11 @@ begin
PDev:=TPrinterDevice(Printers.Objects[PrinterIndex]);
fDC:=CreateIC(PChar(PDev.Driver),PChar(PDev.Device),
PChar(PDev.Port),@PDev.DevMode);
if fDC=0 then
fDC:=CreateIC(PChar('winspool'),PChar(PDev.Device),
PChar(PDev.Port),@PDev.DevMode);
if fDC=0 then
raise EPrinter.Create(Format('Invalide printer (DC=%d Driver=%s Device=%s Port=%s)',[fDC,Pdev.Driver,PDev.Device,PDev.Port]));
if Assigned(Canvas) then
@ -178,6 +183,11 @@ begin
PDev:=TPrinterDevice(Printers.Objects[PrinterIndex]);
fDC:=CreateDC(PChar(PDev.Driver),PChar(PDev.Device),
PChar(PDev.Port),@PDev.DevMode);
if fDC=0 then
fDC:=CreateDC(PChar('winspool'),PChar(PDev.Device),
PChar(PDev.Port),@PDev.DevMode);
if fDC=0 then
raise EPrinter.Create(Format('Invalide printer (DC=%d Driver=%s Device=%s Port=%s)',[fDC,Pdev.Driver,PDev.Device,PDev.Port]));
if Assigned(Canvas) then