Mike Yearwood
Toronto, Ontario, Canada
Information générale
Catégorie:
Codage, syntaxe et commandes
Titre:
How to: Push and Pop parameters?
Hi All
I need to pass a parameter to a method by reference. The called method may alter the parameter, so I want to push the parameter to a property. The parameter may be a string or an array to begin with. I don't believe the save and restore variables to memo fields / .mem files route would be feasible.
The problem is, if an initial parameter is passed as a string and pushed to a property, and the called program changes the passed parameter to an array, it doesn't seem possible to pop the parameters so as to cause the array to become a string again.
To demonstrate...
Junk.prg
lcString = "Testing"
?junk1(@lcString)
disp memo
*Notice that lcString is now an array.
return
junk1.prg
lParameters tuParameter
*Push the incoming parameters
local luParameter
luParameter = tuParameter
*Convert the string to an array to do some processing...
local array laArray[1,1]
laArray[1,1]="Something else"
dimension tuParameter[1,1]
=acopy(laArray,tuParameter)
*Do the processing
...
*Pop the parameter (so that we get back the original string)
tuParameter = luParameter
return
I've tried releasing tuParameter before storing luParameter to it. Any ideas?
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