PRIVATE variables are visible in the entity where it was defined AND any entity called by that entity. LOCAL variables are scoped to the entity where it was defined. GLOBAL variables are visible everywhere in your APP.
Therefore:
PROCEDURE Main
PRIVATE x
LOCAL y, z
x = 1
y = 2
z=MyFunction()
ENDPROC
FUNCTION MyFunction
?x
?y
RETURN 1
>reading a recent post, I read ( then proved ) that if you declear a private var in you main program it will have golbal scope.
>
>WHY!!!?!?!?!
>
>unless I'm mistaken, in most ( if not all ) other programming languages when you declair a private var it is scoped to that file, method, function, etc. I should be able to declair the Var isSomeThing as private anywhere in the program, and anywhere else ( other than that function, etc. ) isSomeThing should not exist, irregardless of how it came to that piece of code ( even if it is in the main.prg file ).
>
>I don't understand why the deviation on something so primitive.
>
>- jer