FAQ #2659, published on 2003-03-31
WINDEV
[Topic: using parameters] In W-Language, a procedure parameter is passed by reference (when a value is modified inside the procedure, the external variable is also modified). How can we pass a parameter by value?
To pass a parameter by value, insert the word "local" before the parameter name in the procedure declaration.

Example
// procedure declaration
procedure MyProc(local param1, local param2)