Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

вечер уже ничего не понимаю, помогите!!!


stud ©   (2006-10-23 18:00:00) 

есть тупой  цикл
for j1:=0 to 18 do
begin
 .....
end;
ставлю точку останова на строку for, после первой же итерации
значение j1=19!!
переменной с таким именем больше нету. в теле цикла она не изменяется.


Ketmar   (2006-10-23 18:30:00) [1]

>[3] Desdechado(c) 23-Oct-2006, 18:24
>если переменная цикла внутри цикла не используется
даже если используется. оптимизатор умный, он поправит значения, когда надо.

>[0] stud(c) 23-Oct-2006, 18:00
в опциях компилятора выключи оптимизацию. будет тебе счастье.


stud   (2006-10-23 18:25:00) [2]

Джо ©   (23.10.06 18:04) [1]
Это так и нужно, работа оптимизатора.

это типа в целях экономии времени! чтобы внуть не заходить?)))


stud   (2006-10-23 18:25:00) [3]

Desdechado ©   (23.10.06 18:24) [3]
если переменная цикла внутри цикла не используется,

она используется, для выбора элемента массива


Desdechado   (2006-10-23 18:24:00) [4]

если переменная цикла внутри цикла не используется, то направление перебора (от 0 к 18 или от 18 к 0) выбирает оптимизатор
это нормальная фича


nikola232   (2006-10-23 18:05:00) [5]

Всё верно, j1=19 становится в конце тела цикла. Затем оно сравнивается в for с 18-ю и вылетает из цикла.


Джо   (2006-10-23 18:04:00) [6]

Это так и нужно, работа оптимизатора.


Наверх

Титульная страница Поиск, карта сайта Написать письмо