E(0): Invalid Cast?

hello,

I found an internal Error in Oxygene-Island which is:

 var numbers: array[1000] of int32;
 for x: Int32 := 0 to numbers.Length do  //numbers.Length exists as a property but raises: E(0): Invalid Cast

and when I Change it to length(numbers) it works as expected.

–Shpend

Sry, I had a mistake in my Code… delete this post pls… Cant find the delete button!

So what was the mistake?

the range of the Array is false, it must be: 1…const and not JUST const!
it must also be: length(numbers) and not numbers.length^^

Full testcase would still be appreciated, as every Internal Error is a bug, even if the code was invalid… thanx!

BEFORE:

var numbers := Array[Count] of int32; //=> throws E(0)..Invalid Cast BUT it actually should work as well

COMPILES FINE:

var numbers := Array[1..count] of int32;

And of Course:
ueb04.zip (4.9 MB)

Thanks, logged as bugs://78154

bugs://78154 got closed with status fixed.