0 / 0 / 0
Регистрация: 16.12.2016
Сообщений: 6
|
||||||
1 | ||||||
Почему delphi после окончания процедуры переходит в начало/середину процедуры?27.12.2016, 16:01. Показов 1514. Ответов 3
Почему delphi после второго end; переходит к while, а в полной версии процедуры в ее середину?
0
|
27.12.2016, 16:01 | |
Ответы с готовыми решениями:
3
Ожидание окончания процедуры Почему стикмэн не делает никаких действий после процедуры? Почему после вызова процедуры, когда значение доходит до 5.9, код начинает неправильно работать? Начало процедуры.. |
884 / 404 / 174
Регистрация: 20.10.2016
Сообщений: 1,828
|
|
27.12.2016, 16:30 | 2 |
У вас есть процедура и есть тело программы. Выполняться начинает тело программы (48-55 строчки). После вызова процедуры (53 строка) у вас начинает выполняться код процедуры (26-45 строки)
0
|
0 / 0 / 0
Регистрация: 16.12.2016
Сообщений: 6
|
|
27.12.2016, 18:46 [ТС] | 3 |
Оно - то выполняется, но при окончании работы процедуры delphi возвращается к строке 24, после чего по невыполнению условия переходит на строку 45, и дальше идет как надо. Однако по мере увеличения в процедуре условных операторов, цикл "от 45 к 24" начинает повторятся. Мне приходится тыкать по F7 по 6 -7 раз, пока оно не выйдет из процедуры. самое страшное, что в полной версии процедуры оно не выходит из процедуры, а переходит на строку, стоящую по средине процедуры, после чего закрывает выполняет еще две строки и неожиданно заканчивает всю программу.
0
|
884 / 404 / 174
Регистрация: 20.10.2016
Сообщений: 1,828
|
|
27.12.2016, 18:52 | 4 |
Сообщение было отмечено syomuch_dill как решение
Решение
syomuch_dill, это у вас рекурсия. Вы в 41 строке в функции вызываете её саму, вот она и начинается сначала. А не выходит из цикла потому, что условие выхода из цикла не выполняется. Вернее, выполняется, но не вместе с условием из строки 35, вот и бегает ваша рекурсия...
1
|
27.12.2016, 18:52 | |
27.12.2016, 18:52 | |
Помогаю со студенческими работами здесь
4
Не переходит на точку останова после перевода с Delphi 7 на Delphi 10 Функции и процедуры. При помощи процедуры записать слова задом наперед Использование имени процедуры в качестве параметра другой процедуры Создание хранимой процедуры, которая создает хранимые процедуры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |