Evaluates a FoxPro expression without blowing up by wrapping the EVALUATE() operation into an internal TRY/CATCH block.
o.SafeEval(lcEvalString,lvErrorResult)
Parameters
lcEvalString
String to evaluate - same value you would pass to EVALUATE()
lvErrorDisplay
The value to return when an error occurs
Pass the special value** ERRORMESSAGE** to return the error message
Remarks
You cannot pass expressions that contain local variables or the THIS pointer since they will not be in scope in the executing wrapper function.
Example
<<code lang="VFP">>*** Execute 2 + 2 on Error -1 would be returned
lnResult = SafeEval("2+2",-1)
*** return the error message in lnResult
lnResult = SafeEval("2+2+A","ERRORMESSAGE")
IF VARTYPE(lnResult) = "C"
? lnResult && Error Message
ENDIF
<</code>>
See also:
Class wwUtils© West Wind Technologies, 2023 • Updated: 01/08/16
Comment or report problem with topic