Consultor Eletrônico



Kbase P99488: 4GL/ABL: Error (4025) generated when an application exceeds the number of widgets limit.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   5/28/2009
Status: Unverified

SYMPTOM(s):

4GL/ABL: Error (4025) generated when an application exceeds the number of widgets limit.

"**Unable to realize <widget name>. (4025)

**Unable to realize BROWSE widget. (4025)

FACT(s) (Environment):

Windows
Progress 9.x
OpenEdge 10.x

CAUSE:

In 16-bit versions of Progress, there is a finite space that MS Windows has to work with for *all* applications that are running on a PC. When you run 16-bit versions of Progress, you are therefore "competing" for MS Windows memory resources with all other Windows applications running at the same time.
Windows manages in what are called HEAPS. There is a USER HEAP for storing widget and menu data, a GDI HEAP for storing graphical object data such as images and icons (although not the bits themselves -- just the definitions of them), and a KERNEL HEAP for storing memory management information and other system-level structures.
All of these HEAPS are limited to 64K in size. This means that for the USER HEAP, the realistic number of widgets can vary between 500 and 700 for the *entire* Windows session.
The question has also come up as to whether it matters if the widgets are dynamic or static. As far as Windows is concerned, the two types are handled the same. Within Progress itself, however, dynamic widgets may indeed take up more memory than static ones, but this would be global memory, not the limited 64K USER HEAP.

In 32-bit versions of Progress, the limitations are different and are dependent on the operating system. A 32-bit version of Progress on Windows 95 can create more widgets than a 16-bit version of Progress on Windows 95.
These limitations pertain to each application individually, not to all applications running on the system. Each session has a limit that is independent of all other applications running on the system.

FIX:

There are no adjustments possible to the above mentioned limits. Developers running into this operating system limitation should rethink their application design to overcome this issue.