En Windev, las variables se pasan por defecto por “Referencia” a los procedimientos y métodos (al revés que casi todos los lenguajes).
Para hacer que un procedimiento y/o método reciba el parámetro por valor, se debe hacer así:
PROCEDIMIENTO myProc( LOCAL x is int, LOCAL y is string, z is int)
Las variables “x” e “y” son locales y reciben el dato por “Valor”. La variable “z” recibe el valor por “Referencia”.
NOTA: La llamada no cambia, sería: mProc(var1, var2, var3) (donde var1 y var2 se pasan por valor y var3 por referencia).
NOTA2: Para forzar a pasar una variable por valor en la llamada de un método/función, hay que ponerla entre “dobles paréntesis”, así: mProc(var1, var2, ((var3)) ). Que como ves hace más feo el código que ponerlo en la declaración del método/función!