>Len,
>
>
>Not so much a solution as a workaround - if macros don't work then don't use them.>
>I'm sorry, but it is not a workaround. If you or Andrew understood what macro substitution meant in VFP and how spaces in a file path affect things it would be more obvious to you what the error is.
>
>set default to C:\Program Files\Windows Media Player && fails
>set default to "C:\Program Files\Windows Media Player" && works
>
>lcpath = "C:\Program Files\Windows Media Player"
>
>set default to &lcPath && fails
>set default to (lcPath) && works beautifully because name substitution is the best way to handle this
>
>?curdir()
>
>lcPath = ["C:\Program Files\Windows Media Player"]
>
>set default to &lcPath && works because of the "
>
>?curdir()
>
>
>but her theory behind the original problem is as dubious as Andrews.>
>Her theory is much more sound than the random babblings that have been pondered elsewhere in this thread
Your very full description above also did not address the problem of why the particular macro substitution worked in one place but not another.
AFAIK, it should either work or fail - there is no difference in compilation between classes & programs, so the result should be consistent.
Len Speed