WAIT WINDOW type( THIS.CheckSource ) WAIT WINDOW vartype(poText) *try ***===> evals okay cContents = EVALUATE(THIS.CheckSource) *catch * WAIT WINDOW message() *ENDTRY cSource = THIS.CheckSource ***===> macros okay cContents = &cSource. cSource = THIS.CheckSource ***===> evals fails cContents = EVALUATE(cSource)So I guess coming via into variables it does have a problem. Thanks I guess this solves the problem, or raises more questions?