>x=[messagebox(thisform.caption)] >&x > >x='thisform.caption' >messagebox(&x)In your example, The string "x" has been evaluated (no period in "x") and resulted in a perfectly legitimate command.
messagebox(thisform.caption)>
ThisForm.SelectCmd = "Select * from Customers"I can't do the following:
&thisform.SelectCmd.
Or any other variation. Since the "." terminates the macro expression, FoxPro would try to find a string variable called ThisForm, but that's of course not available. So, I have to do this:lcCmd = thisform.SelectCmd &lcCmd. && Don't need the period in this case, but just making the point. No pun intended.The issue of prefixing literals with "m." is the same thing.
Local lcSelectCmd lcSelectCmd = "Select * from Customers" &m.SelectCmd. && Will look for a string variable "m" &lcSelectCmd. && Is okay.