>
>Here's a few things I use to keep the mdot thing straight.
>
>1 A macro isn't a memvar. The second you use the & you have a command. So no mdot is required. However, the second I use & I immediately add the trailing optional period, just as I add the trailing ) after using a (. This practice means any time I use macros within an object reference, I automatically get the .. correct.
>
>2 An array isn't a memvar. It's a collection of elements. m.laArray[1,2] makes no sense at all.
>
>3 an object is stored in a memvar.
>
>4 use mdot everywhere it will permit you, even in assignments, even and especially if you have a naming convention. Mdot is built into FoxPro for a reason. I trust the creators of the language far more than the Hungarian notation camp, and far more than the most vocal mdot naysayers.
I think that your points 2 & 4 are colliding.
Array references hold the same ambiguity problem that other memory references have:
CREATE CURSOR ACursor (AName C(10))
INSERT INTO ACursor VALUES ("Hello")
LOCAL ARRAY AName[1]
m.AName = "World"
? AName
? m.AName
----------------------------------
António Tavares Lopes