Thank you.
>Backing up a step...
>
>In VFP, there is no difference defining a procedure or function. The following examples are identical.
>
>PROCEDURE SomeSubRoutine
>LPARAMETERS One, Two
>Three = One + Two
>RETURN Three
>END PROC
>
>FUNCTION SomeOtherSubRoutine
>LPARAMETERS One Two
>Three = One + Two
>RETURN Three
>END FUNC
>
>
>The difference is in how you call them. This first example is calling as a procedure
>
>a = 1
>b = 2
>DO SomeOtherSubRoutine WITH a, b
>
>No value will be returned
>by default, a and b will be passed by reference. To pass a by value:
>
>DO SomeOtherSubRoutine WITH (a), b
>
>
>This example is calling as a function
>
>c = 1
>d = 2
>e = SomeSubRoutine(c, d)
>
>A value will be returned
>by default, c and d will be passed by value. To pass c by reference
>
>e = SomeSubRoutine(@c, d)
>
>
>>Hi,
>>
>>Specifically I mean, as far as the title, what is the purpose of the "L" in LPARAMETERS. I understand it means "local" but the following example shows that it is not quite local:
>>
>>
>>LOCAL lVar1, lVar2
>>
>>STORE 1 TO lVar1, lVar2
>>
>>=TestFunct( lVar1, @lVar2 )
>>
>>? lVar1, lVar2
>>
>>FUNCTION TestFunct
>>LPARAMETERS lVar1, lVar2
>>
>>lVar2 = 122
>>
>>RETURN
>>
>>
>>Or does it mean that the "@" overrides the L in LPARAMETERS?
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham