I am convinced that I just found a reason. Consider the following:
{$IF not Declared(RTLVersion)} {$MESSAGE WARN 'There is no RTL'} {$IFEND} {$IF not Declared(CompilerVersion)} {$MESSAGE WARN 'nor are compiler intrinsics at all'} {$IFEND} {$IF not Declared(System)} {$MESSAGE ERROR 'Because package not uses System implicitly'} {$IFEND}
So, it seems that some kind of compiler is behaving correctly, but it gives out a rather misleading (if not erroneous) message stating that the character is not a constant expression, while the corresponding character is really undeclared !
Onthefly
source share