Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Global variable dies when sent as a parameter??
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Divers
Thread ID:
00179903
Message ID:
00180193
Vues:
26
>I think I've found the problem. Do you invke the procedure with DO...WITH...? Passing a PUBLIC by REFERENCE (the default) results in the PUBLIC being hidden. the following code snippet demonstrates this nicely:
>
>
>PUBLIC cTest
>cTest = 'ByRef'
>DO MyFunc WITH cTest
>ctest = 'ByVal'
>=MyFunc(cTest)
>CANCEL
>
>PROCEDURE MyFunc
>LPARAMETER uVar
>? uVar
>? 'The type of the parameter is',TYPE('uVar')
>? 'The type of the PUBLIC cTest is',TYPE('cTest')
>RETURN
>
>
>You can force a pass by value by invoking the procedure as a function, or by enclosing the argument to the WITH in parentheses to force a pass by value. This behavior of PUBLICs passed by reference is actually documented somewhere...


Hi,

The above is quite true when you you send parameters by reference, but I send the parameters by value (SET UDFPARMS TO VALUE) and that's why it troubles me. The phenomena also occurs regardless of me using LPARAMETERS or PARAMETERS in the procedure.

Thanks...
(using VFP 3.0 for Win & Mac)
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform