Kbase P12469: Expanded/Virtual Screen Resolutions and Progress Limits -- Error 4132
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  22/10/2010 |
|
Status: Verified
SYMPTOM(s):
Expanded/Virtual Screen Resolutions and Progress Limits -- Error 4132
** Invalid character unit value <value>, Changed to 320. (4132)
** A frame cannot have a width greater than 320. (462)
Multiple display devices and high display resolutions cause error 4132
FACT(s) (Environment):
Windows
OpenEdge Category: Language (4GL/ABL)
Progress 9.x
OpenEdge 10.0x
OpenEdge 10.1A
CAUSE:
Enhancement request# 20040302-004
CAUSE:
Nowadays, many video cards can handle resolutions over 1280x1024 or use a 'virtual screen size' that is wider than 1280 pixels to support a single desktop being displayed across multiple monitors placed side by side. The resolution of 1600x600 for example, allows for display of a single desktop across two monitors using 800x600 resolution.
Resolutions higher than 1600x1200 may cause error 4132 due to a limitation in Progress.
In Progress, column and row values are currently stored as 16-bit signed values. The largest column value that can be handled is 320 because column values are stored in PPU (Progress Portable Units), which are divided into hundreds. For example, the column value 203 is stored as 20300 PPU. The maximum PPU value which can be stored in 16 bits is 32767 PPU. This was simply limited to 320 columns (32000 PPU).
This maximum frame width of 320 characters can come into play when attempting to expand screen resolution; if the horizontal resolution is increased such that the maximum frame width is surpassed, error number 4132 will result. This error can even occur when running the Procedure Editor, since it is, itself a Progress application.
FIX:
The enhancement request was implemented in OpenEdge 10.1B, lifting this limitation.
In earlier releases, developers must continue to observe the 320 character frame limit.
Session:width-pixels divided by Session:pixels-per-column must be less than 320 in order to avoid error (4132).
Using pixels instead of rows and columns may provide desired functionality in some cases.
The value of Session:width-chars will depend upon local settings, however, the following table provides Session:width-chars at Progress default settings as a point of reference.
-- Version 8.1
Screen Resolution.
640x480 Session:width-chars = 91.43
800x600 Session:width-chars = 114.29
1024x768 Session:width-chars = 146.29
1280x1024 Session:width-chars = 182.86
-- Version 8.2 and above
Screen Resolution
640x480 Session:width-chars = 128.00
800x600 Session:width-chars = 160.00
1024x768 Session:width-chars = 204.80
1152x864 Session:width-chars = 230.40
1280x1024 Session:width-chars = 256.00
1600x1200 Session:width-chars = 320.00
The enhancement request logged is to use 32-bit values for storing row and column values, raising the maximum frame with to over 2 billion PPU, or over 20 million columns.
With OpenEdge 10.1A, steps have been taken to alleviate the issues caused by this limit:
- The error 4132 is now suppressed by default, and will only be shown if the startup parameter -showppuerr was provided for the session.
- Any PPU based assignment that exceeds the limit will be forced to 320.