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

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

Почему появляется Warning?


de ©   (2003-02-03 17:02:00) 

на строку "for k:= 1 to kMax do" ругается
[Warning] FOR-Loop variable "k" may be undefined after loop

k и kMax заданы, в цикле не меняются
в чем же дело?


de   (2003-02-03 17:53:00) [1]

> uw © (03.02.03 17:38)
я поняль в чем было дело. Внук © (03.02.03 17:24) был прав. у меня k использовалось в except


uw   (2003-02-03 17:38:00) [2]

Ну, дай побольше текста, интересно уже!


Внук   (2003-02-03 17:24:00) [3]

Перевожу дословно :)))
Переменная k цикла For может иметь неопределенное значение после выхода из цикла.
Очевидно, все-таки она используется после. С компилятором трудно спорить...


de   (2003-02-03 17:21:00) [4]

> uw © (03.02.03 17:09)
я и говорю что ругается на строку for k:=1 to kMax do

Понял что это происходит из-за try ... except

try
...
kMax := 100;
for k :=1 to kMax
do ...
except
...
end

после цикла k не используется
Если убрать try ... except то Warning пропадает
Не могу понять почему так происходит.


uw   (2003-02-03 17:09:00) [5]

В таких случаях надо дважды щелкать на Warning"е, и тебе покажет, какое место имеется ввиду.


icWasya   (2003-02-03 17:03:00) [6]

наверно после цикла используется значение переменной k


Наверх

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