Kbase 13213: Limit to number of widgets in Windows 95 / NT. (4025)
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  07/10/1999 |
|
Limit to number of widgets in Windows 95 / NT. (4025)
This knowledgebase notebook entry discusses limits on
Progress which are imposed by the MS Windows environment.
One symptom of this limitation is error
(4025) **Unable to realize <widget-name> widget.
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.
No adjustments to this 64K limit can be made.
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.
32-bit versions of Progress
---------------------------
The limitations are different in 32-bit versions. There are still
limitations, they're just different. The limitations are dependent
on the operating system, and vary between versions of Windows.
A 32-bit version of Progress on Windows 95 can create more widgets
than a 16-bit version of Progress on Windows 95. How many more
is not known.
The limitations now pertain to each application individually, not
to all applications running on the system. Therefore you are able
to run one session up to the limit and then run another session up
to the same limit. Each session has a limit and is independent of
all other applications running on the system.
If programmers are finding themselves running into the widget limits
then they are running into an operating system limitation. There's
nothing Progress can do to overcome it, so they should rethink their
application design in order to avoid the limitation.
Progress Software Technical Support Note # 13213