>#define error 1 > >? 'An error has occurred' >? [An error has occurred] >>Bottomline: Use single or double quotes as string delimiters unless you know what you're doing with square brackets.
#define hName 1 #define hType 2 #define hLen 3 #define hDecimals 4 aFields(aFF) ?aff[1, hName], aff[1, hType], ...This simply HAS to work. One of the compelling reasons for having #define directive was the replacement of numeric indexes into arrays with #defined named constants. Unfortunately, the {} brackets are used for something else (macros, direct-to-printer entities) so we're stuck with only three different pairs of string delimiters - and if you use [...], the parser doesn't really care whether they are used as string delimiters or array index delimiters. Though it could (it could just check the last character before [, if part of variable, only then it's an array), but too late now.