Thank you, now things are much clearer to me.cfbsoftware wrote:Intermediate objects are items which are listed in CONST, TYPE, VAR and PROCEDURE declarations in a procedure which also contains a nested procedure.
Intermediate variables are items which are listed in a VAR declaration in a procedure which also contains a nested procedure.
The objects and variables are strictly local when referenced in the procedure in which they are declared but they are intermediate local objects when referenced in the nested procedure.
I suspect things would be much clearer to readers of the Language Report if "non-global" would be added to the following paragraph:
10. Procedure declarations
...
In addition to its formal parameters and locally declared objects, the objects declared in the
environment of the procedure are also visible in the procedure (with the exception of non-global variables and
of those objects that have the same name as an object declared locally).
...
Regards,
Hans Klaver