>Cetin,
>I don't understand why the MDOT notation is important for purposes of optimization. Do you happen to know how VFP goes about resolving symbolic references at run time (for example, how it goes about traversing its symbol table, and where it looks first in order to resolve a symbol reference)? Thanks very much.
Let's say that you try to access a variable, like this:
x = MyVar
The "x" on the left side is clearly a variable, so that is no problem. On the other hand, "MyVar" on the right side might also refer to a field called "MyVar" in the currently selected table. I think if there is such a field, and also a variable, VFP will use the field, and not the variable. You can easily check this, by creating a field and a variable with the same name.
This means that if you don't explictly tell VFP that it is a variable (changing it to x.MyVar), VFP will search for the field first, and waste some time.
So far, I have not worried about this, but in a tight loop (a few commands that repeat thousands of times), it may well be worth-while to do this kind of optimization.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)