Delphi Compiler Error
E2011 Low bound exceeds high bound
Reason for the Error & Solution
This error message is given when either the low bound of a subrange type is greater than the high bound, or the low bound of a case label range is greater than the high bound.
program Produce;
type
SubrangeType = 1..0; (*Gets: Low bound exceeds high bound *)
begin
case True of
True..False: (*Gets: Low bound exceeds high bound *)
Writeln('Expected result');
else
Writeln('Unexpected result');
end;
end.
In the example above, the compiler gives an error rather than treating the ranges as empty. Most likely, the reversal of the bounds was not intentional.
program Solve;
type
SubrangeType = 0..1;
begin
case True of
False..True:
Writeln('Expected result');
else
Writeln('Unexpected result');
end;
end.
Make sure you have specified the bounds in the correct order.