Цитата:
Сообщение от morebeauty
Есть еще способы? Может, есть команда, которая разом прерывает выполнения всех функций (в том числе и рекурсивных) и переходит в режим ожидания действий пользователя?
|
Исключение "
разом прерывает выполнения всех функций (в том числе и рекурсивных)" вплоть до последнего обработчика исключения
except.
В примере ниже "Beep" никогда не вызовется, так как первый же "Abort" прервёт одним махом все вложенные (рекурсивные) вызовы и перейдёт "
в режим ожидания действий пользователя" (если конечно не встретится другого обработчика except):
Код:
procedure TForm1.Button4Click(Sender: TObject);
procedure Recursion(Level: Integer);
begin
if Level = 100 then Abort;
Recursion(Level + 1);
Beep;
end;
begin
Recursion(0);
end;