Zitat von
fkerber:
@alzaimar: also bei dynamischen keine Chance? Gut zu wissen!
Hatte den gleichen Fehler, wie Alle Anderen: Mein Delphi hatte die Änderungen nicht übernommen!
Es wird sehr wohl eine Bereichsüberprüfung mit eingebaut!
Also: Sowohl bei statischen, als auch bei dynamischen Arrays wird bei eingeschaltetem RangeCheck eine Bereichsüberprüfung mit compiliert. Breakpoint auf die Stelle und dann Ctrl+Alt+C, um das CPU-Fenster zu öffnen. Selbst wenn man (wie ich) keine Ahnung von Assembler hat, sieht man doch ein jmp @BoundsErr, was jeder leicht als 'Bereichsüberprüfung' interpretieren kann. Der Code verschwindet, wenn man die Option wieder ausschaltet, UND PER BUILD den gesamten Code wieder compiliert. Es sollte zwar reichen, nur die
unit neu zu kompilieren, aber sicher ist sicher.
Wenn das bei Dir nicht klappt, dann hast du, wie bereits bemerkt vorher irgendwo im Code ein $R-
klammere einfach den Codeteil in $R+ / $R- ein.