Hi Paul, there can be couple of possible solutions though. But a simple one is as follows:
Set fruit="apple"
set person="john"
NEW $ESTACK Set tIindex = $ESTACK Set ^VarIndex(tIindex,1) = "fruit" Set ^VarIndex(tIindex,2) = "person"
d ..Something(fruit, person)
quit
ClassMethod Something(objs...) {
; Names of variables passed in
Set sIndex = $ESTACK - 1
$$$TRACE("First variable: "_^VarIndex(sIndex,1)_" Second variable: "_^VarIndex(sIndex,2))
}
Using this method even if you call 100 methods each time method will quit and return to main method $ESTACK will restore its initial value. In each method we will just decrement its value by 1 and can access previous value (original name) of each variable. Moreover by indexing we can access any original name randomly.
Hi Paul, there can be couple of possible solutions though. But a simple one is as follows:
Set fruit="apple"
set person="john"
Set tIindex = $ESTACK
Set ^VarIndex(tIindex,1) = "fruit"
Set ^VarIndex(tIindex,2) = "person"
d ..Something(fruit, person)
quit
ClassMethod Something(objs...) {
; Names of variables passed in
}
Using this method even if you call 100 methods each time method will quit and return to main method $ESTACK will restore its initial value. In each method we will just decrement its value by 1 and can access previous value (original name) of each variable. Moreover by indexing we can access any original name randomly.
This way