>
>LOCAL ;
> lcCmd
>
>m.lcCmd = "m.gnTest = 1"
>
>&lcCmd
>
>&m.lcCmd
>
>m.&lcCmd
>
>Is the last version the "correct" way to do this if you want the benefits of mDotting?
When a macro is expanded, the interpreter
always and
only looks for memory variables, so the name is never ambiguous. Furthermore, during macro expansion, the dot acts as a name terminator, so issuing &m.lcCmd will try to expand a variable named "m".
CLEAR
CREATE CURSOR aCursor (m varchar(50))
INSERT INTO aCursor (m) VALUES ('? "whatever"')
? m
LOCAL m
LOCAL x
m = '? "something"'
x = '? m.'
SELECT aCursor
&m.
&m.m
&x.m
----------------------------------
António Tavares Lopes