Consultor Eletrônico



Kbase 14075: Closing windows out of order may cause SE 1 ( -nb ) bfblst
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/05/1998
Closing windows out of order may cause SE 1 ( -nb ) bfblst

Progress System Error (1) occurs when there are many
nested calls to other blocks. This is a resource
that can be adjusted with the -nb parameter. The
default is 50. If you need more levels you can
increase the value or simplify your program
structure.

Many customers who receive this error are unknowingly
calling a procedure recursively so it is wise to
check the flow of your application carefully to make
sure that this is not happening.

Another reason you may see this error is if you have
several procedures (windows) running other windows
which in turn run other window procedures. You may
close a window in the middle of the stack and still
find that it is still included in the resources.
Eventually you will run into the system error 1
which is

bfblst -- Too many block levels. Increase -nb parameter. (1)


For example, let's say non-persistent window program A runs
B which runs C which runs D. You apply close to C but A, B,
and D are still available. Even though the handle has been
deleted from the widget tree, the resources for it have not
been released and you may still eventually run into error 1.

In this situation, Progress is operating according to specification.
A procedure sitting on the call stack cannot be removed until you
return through it to its caller. Applying close to the procedure
only marks it for delete but its resources are not freed up.
Progress can't free up resources consumed by a
procedure until it gets off of the procedure call stack (by
returning through its caller).

However, if you run the procedures persistently then any window
can be closed in any order and the resources will be freed up.

So, the solution to the problem in the above example is to run
the windows persistently.

Bbfblst -- Too many block levels. Increase -nb parameter. (1)


Progress Software Technical Support Note # 14075