made DoEnumPrinters more robust from Ere Maijala

git-svn-id: trunk@7653 -
This commit is contained in:
vincents 2005-09-09 13:01:39 +00:00
parent 38ba258a2a
commit a966e4a9bb
2 changed files with 13 additions and 8 deletions

View File

@ -261,7 +261,6 @@ Var Flags : DWORD;
InfoPrt : PChar;
i : Integer;
DefaultPrinter : array[0..79] of Char;
LstStr : TStringList;
PDev : TPrinterDevice;
begin
@ -310,13 +309,18 @@ begin
if Level=2 then
begin
PDev:=TPrinterDevice.Create;
PDev.Name :=PPRINTER_INFO_2(InfoPrt)^.pPrinterName;
PDev.Device :=PPRINTER_INFO_2(InfoPrt)^.PDevMode^.dmDeviceName;
PDev.Driver :=PPRINTER_INFO_2(InfoPrt)^.pDriverName;
PDev.Port :=PPRINTER_INFO_2(InfoPrt)^.pPortName;
PDev.DevMode:=PPRINTER_INFO_2(InfoPrt)^.PDevMode^;
PDev.DefaultPaper:=PPRINTER_INFO_2(InfoPrt)^.PDevMode^.dmPaperSize;
PDev.Name :=PPRINTER_INFO_2(InfoPrt)^.pPrinterName;
PDev.Driver:=PPRINTER_INFO_2(InfoPrt)^.pDriverName;
PDev.Port :=PPRINTER_INFO_2(InfoPrt)^.pPortName;
if PPRINTER_INFO_2(InfoPrt)^.PDevMode <> nil then begin
PDev.DevMode:=PPRINTER_INFO_2(InfoPrt)^.PDevMode^;
PDev.Device:=PDev.DevMode.dmDeviceName;
PDev.DefaultPaper:=PDev.DevMode.dmPaperSize;
end
else begin
PDev.Device:='';
PDev.DefaultPaper:=0;
end;
if AnsiCompareText(PDev.Name,DefaultPrinter)<>0 then
Lst.AddObject(PDev.Name,PDev)
else

View File

@ -16,6 +16,7 @@ Curtis White
Darek Mazur
Darius Blaszijk
Dean Zobec
Ere Maijala
Eric Chapman
Erivelton Silva
Felipe Monteiro de Carvalho