Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Parameter scoping behavior
Message
 
To
All
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Title:
Parameter scoping behavior
Environment versions
Visual FoxPro:
VFP 8 SP1
OS:
Windows 2000 SP4
Network:
Novell 6.x
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01061120
Message ID:
01061120
Views:
46
My co-worker created a local variable and passed it to a procedure. The procedure took the private parameter and changed it.

I thought that the parameter should go out of scope when the procedure ends. However, the variable's value is changed in the calling program.

UDFPARMS is set to the 'VALUE'.
LOCAL X
X = 1
Y = 1
DO foo WITH X
? X,Y
RETURN


PROCEDURE foo
PARAMETER X
PRIVATE Y
X=2
Y=2
RETURN
OUTPUT: 2,1

In this code, Y behaves normally. It value is set to 2 in foo, and reverts to 1 in the main program. X however, is changed to 2 even though its local in main.

Is this expected bevavior?

The workaround is easy... dont use the same name, and prefix params with tn.

But the mystery remains.

Hans
Next
Reply
Map
View

Click here to load this message in the networking platform