Syntax error free code is the #1 intention.
And #2 understanding what led to the syntax error in compilation of that code.
EinTerraner just stumbled on a self induced problem, not so obvious. Maybe it turns out another mechnaism causes that syntax error, too, you never know. But the #define constant hypothesis is demonstrably explaining it, isn't it? The simplicity of the search&replace of constants in code (case insenseitive, by the way, as VFP is case insensitive anyway) makes it a constant danger. You can take that literally or figuratively.
The naming convention recommendation is to define constants names all upper case, so #Define SEPCHAR "-". But even that will replace a property name SepChar in code with "-", This ambiguitiy of constant names can't be defended against, you have to keep an eye on not using constant names as property names, too, when the constant is present due to direct defines, direct includes or indirect includes. It's worse, because even a proeprty This.SepCharacter would be preprocessed to This."-"acter, so when constant names are just parts of property names or code in general, they get substituted into the code before that is compiled, as long as constant definitions are seen by code, constants are scoped to where they are defined, of course, not generally global.
I could imagine the history of how this evolved: First there was the constant SEPCHAR defined in some header file included in almost any code of a project to have a separator character you could easily redefine in one contral place by changing the constant. Everything works fine, but it seems too rigid to rely on a constantonly, maybe instead define a class that provides different ways to get at the right separator character for the special case involved, context sensitive, for example. One of the ingredients (maybe just for backward compatibility to the constant) is a property that simply has the separator character value. Fine, if that's the case and you changed all places previously using the constant SEPCHAR to use that class property, then the only thing missing is getting rid of the constant definition, problem solved. I bet it's not really the situation, though, I'm not even sure whether there is that constant involved in the problem, just because it can explain the syntax error doesn't mean it is definitely the reason.
It could also be a constant #Define SEP 9 for september the 9th month, but it could also be a completly different mechanism, it could be a hardly spotted point or comma in the line of code that's covered by the error messagebox, it could be anything else, too.