[next] [tail] [up]

#### Value parameters

Value parameters are declared as follows:

_________________________________________________________________________________________________________ Value parameters
___________________________________________________________________

When parameters are declared as value parameters, the procedure gets a copy of the parameters that the calling block passes. Any modifications to these parameters are purely local to the procedure’s block, and do not propagate back to the calling block. A block that wishes to call a procedure with value parameters must pass assignment compatible parameters to the procedure. This means that the types should not match exactly, but can be converted (conversion code is inserted by the compiler itself)

Care must be taken when using value parameters: Value parameters makes heavy use of the stack, especially when using large parameters. The total size of all parameters in the formal parameter list should be below 32K for portability’s sake (the Intel version limits this to 64K).

Open arrays can be passed as value parameters. See section 8.3, page 296 for more information on using open arrays.

[next] [front] [up]