Mike Yearwood
Toronto, Ontario, Canada
General information
Category:
Coding, syntax & commands
Title:
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?
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only