Kbase P90847: "Number of Copies" is disabled for SYSTEM-DIALOG PRINTER-SETUP but not for _OSPRINT
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  05/11/2010 |
|
Status: Verified
SYMPTOM(s):
Behaviour with SYSTEM-DIALOG PRINTER-SETUP varies depending on the version of Windows
"Number of Copies" option is disabled for specific printers with SYSTEM-DIALOG PRINTER-SETUP
"Number of Copies" option is not disabled using _OSPRINT with the same printers
"Number of Copies" option is not disabled with SYSTEM-DIALOG PRINTER-SETUP for the same printers with later versions of Windows (i.e. Windows 2000/XP)
Setting NUM-COPIES for SYSTEM-DIALOG PRINTER-SETUP has no effect
FACT(s) (Environment):
Progress 8.3C
Progress 8.3D
Progress 8.3E
Progress 9.x
Windows
CAUSE:
Bug# 20020521-011
CAUSE:
From 8.3C to 9.1D09, SYSTEM-DIALOG PRINTER-SETUP sets the PD_USEDEVMODECOPIESANDCOLLATE flag when it calls PrintDlg() to display the printer setup common dialog. This flag tells Windows that Progress wants the printer driver to decide whether the number of copies and collation options should be enabled based on the capabilities of the printer. _OSPRINT used the ProPrint.dll and never used PD_USEDEVMODECOPIESANDCOLLATE, therefore behaving differently to SYSTEM-DIALOG PRINTER-SETUP. Furthermore, different versions of Windows and/or printer drivers do not always behave in the same way when the PD_USEDEVMODECOPIESANDCOLLATE flag is on
This issue was fixed in OpenEdge 10.0A by removing the PD_USEDEVMODECOPIESANDCOLLATE flag. This ensures that the copies and collation options are always available and that SYSTEM-DIALOG PRINTER-SETUP and _OSPRINT behave in the same way.
FIX:
Upgrade to OpenEdge 10.0A or later.