Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.05;
Скачать: CL | DM;

Вниз

Можно ли заставить Делфи выдавать сообщение при выходе за границы   Найти похожие ветки 

 
paxer   (2003-05-26 14:26) [0]

Можно ли заставить Делфи выдавать сообщение при выходе за границы динамического массива? (директивы, настройки)
var m:array of Real;
begin
SetLength(m,1);
m[1]:=2.34;//И чтобы сдесь при выполнении показало ошибу?
end;


 
Skier ©   (2003-05-26 14:30) [1]

поставь птицу Range Checking


 
VMcL ©   (2003-05-26 14:55) [2]

>Skier © (26.05.03 14:30)

Не сработает.
>Out-of-range indexes are not reported at compile time.
Потому что, компилятор не знает длину массива в данной точке программы (на то он и динамический).

>paxer (26.05.03 14:26)
Можно только словить исключение в run-time. Или вставить код проверки границ руками.


 
Skier ©   (2003-05-26 14:59) [3]

>VMcL © (26.05.03 14:55)
Не грузи.

Это видел ?


> m[1]:=2.34;//И чтобы сдесь при выполнении показало ошибу?



 
VMcL ©   (2003-05-26 15:04) [4]

>Skier © (26.05.03 14:59)

Sorry. Неправ.


 
VMcL ©   (2003-05-26 15:11) [5]

Кстати, нашёл страшный глюк. Если объявление поменять на
var m: array of Real48;
То компилятор (D6 Build 6.163) ложит свой "инструмент" на птицу "Range Checking".


 
paxer   (2003-05-26 16:22) [6]

Спасибо



Страницы: 1 вся ветка

Текущий архив: 2003.06.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
1-13183
Top Gun
2003-05-24 11:41
2003.06.05
Исключение в Finalization


1-13319
Flex
2003-05-25 01:39
2003.06.05
Как получить фокус ввода, при exception?


1-13305
Seldon
2003-05-24 22:36
2003.06.05
Unicode -> String


1-13230
MegaVolt
2003-05-26 13:23
2003.06.05
Где в коде ошибка?


14-13392
Till
2003-05-16 07:39
2003.06.05
Oracle Data Access Components Net 4.05.1.8 for Delphi 6