Re: I suppose the idea of classes and inheritance is



On Sat, 14 Oct 2006 14:46:50 -0700, Jamie
<jamie_ka1lpa_not_valid_after_ka1lpa_@xxxxxxxxxxx> wrote:

<snip>

You must take me for something i just can't amagine ?

I have just cut and pasted your sample
- and as expected it gives a Range Check error on
I := 5;
S2[I] := 'A';// Does not generate Range error !

Look Jamie, Rob and I are not making a personal attack, we are simply
stating that Delphi is expected to make a Range Check error when
accessing S[ Length(S) + 1 ]

Also that on our machines it DOES throw an error

This means that either you are a fool ( and I've seen enough of your
posts to /know/ that you are anything but a fool ) or that you have a
very nasty problem with your Delphi setup - the type of problem that
will give you some very nasty obscure bugs.

We are trying to help you

Could a few others test and confirm what we are saying
- and if anyone has any ideas about what is happening to make Jamie's
system behave incorrectly, we all ought to know.

This is in the D4P Help

Range checking
Remarks

The $R directive enables or disables the generation of range-checking
code. In the {$R+} state, all array and string-indexing expressions
are verified as being within the defined bounds, and all assignments
to scalar and subrange variables are checked to be within range. If a
range check fails, an ERangeError exception is raised (or the program
is terminated if exception handling is not enabled).
Enabling range checking slows down your program and makes it somewhat
larger, so use the {$R+} only for debugging.

Note: Long strings are not range checked. <==== !!!!!!!! ??????

In D4P Long strings /definitely/ are range checked
Is it possible that they were not in D3 ?




.