Dick,
The VO macro compiler is more forgiving than our macro compiler. It simply ignores the extra closing parenthesis.
Places where the macro compiler is used are:
- index expressions
- filters for workareas
- all places where you specify a string that needs to be evaluated, such as the cCondition in the bBrowser color condition
The compiler cannot know that you are passing the string to the macro compiler. you simply pass the string to the bColorcondition and whatever this component does with the string is not visible to the compiler.
Inside bColorcondition your string is converted to a codeblock like this:
Code: Select all
if IsString(uCondition)
self:uCondition := &("{|Server, Column, Row, RecNo| " + uCondition + "}")
else
self:uCondition := uCondition
endif
You can also use a "normal" codeblock here and then the compiler would warn you about the unbalanced parenthesis:
Btw: what is nAdmissionLevel inside the string? Is that a global or a public ?
Robert