Printers, windows, check if there are printers before calling printer document properties

git-svn-id: trunk@23808 -
This commit is contained in:
jesus 2010-03-01 03:32:54 +00:00
parent fded4603bf
commit a204eebb53

View File

@ -415,7 +415,10 @@ Var Flags : DWORD;
PDev : TPrinterDevice; PDev : TPrinterDevice;
TmpDevMode : PDeviceMode; TmpDevMode : PDeviceMode;
begin begin
{$IFDEF NOPRINTERS}
Lst.Clear;
exit;
{$ENDIF}
DefaultPrinter := GetDefaultPrinter; DefaultPrinter := GetDefaultPrinter;
Flags:=PRINTER_ENUM_CONNECTIONS or PRINTER_ENUM_LOCAL; Flags:=PRINTER_ENUM_CONNECTIONS or PRINTER_ENUM_LOCAL;
@ -818,14 +821,17 @@ procedure TWinPrinter.AdvancedProperties;
var var
PDev: TPrinterDevice; PDev: TPrinterDevice;
begin begin
PDev:=TPrinterDevice(Printers.Objects[PrinterIndex]); if Printers.Count>0 then
DocumentProperties( begin
Widgetset.AppHandle, PDev:=TPrinterDevice(Printers.Objects[PrinterIndex]);
FPrinterHandle, DocumentProperties(
pchar(PDev.Name), Widgetset.AppHandle,
Pdev.DevMode, Pdev.DevMode, FPrinterHandle,
DM_OUT_BUFFER or DM_IN_BUFFER or DM_IN_PROMPT); pchar(PDev.Name),
//PrinterProperties(Widgetset.AppHandle,fPrinterHandle) Pdev.DevMode, Pdev.DevMode,
DM_OUT_BUFFER or DM_IN_BUFFER or DM_IN_PROMPT);
//PrinterProperties(Widgetset.AppHandle,fPrinterHandle)
end;
end; end;
initialization initialization