Information générale
Catégorie:
Gestionnaire d'écran & Écrans
>>>>If the variable is declared as private, and initialized (or passed using the PARAMETERS statement rather than LPARAMETERS) in the code that calls the REPORT command, it will be visible to the report.
>>>
>>>George,
>>>
>>>I recently learned here that this is also true for LOCAL variables, the report can see those too.
>>
>>This should have been obvious to me, but I got burned by this.
>>
>>A simple example.
>>
>>LOCAL A
>>A = 4
>>?A && SHOWS 4
>>DO B WITH A
>>?A && SHOWS 5
>>
>>PROCEDURE B
>>LPARAMETERS A
>>A=5
>>
>>The overriding fact is that your are passing by the variable by reference.
>
>Hi Dan,
>
>Yep, that'll happen. It's once of the reasons why I never, ever make modifications to incoming parameters, regardless if it's a procedure or a function, unless it's the express intent of the program code to do so.
That's true. My tendency has always been to store the parameter to a local variable, if I wanted to change it. I had forgotten why I was doing that, but that's definitely the reason.
Précédent
Suivant
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement