![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Прервать работу основной процедуры - из вызванной процедуры... [D7, WinXP]
HF-Trade © (2005-12-05 03:01:00)Есть процедура, из нее вызываю функцию\процедуру(не имеет значения), как из вызванной процедуры\функции прервать выполнение основной?
Плохиш (2005-12-05 11:06:00) [1]
> Profi © (05.12.05 03:23) [4]
> Джо © (05.12.05 3:20) [2]
> Как-то это слишком уж жестоко.
Для этого исключение Abort сделали
Anatoly Podgoretsky (2005-12-05 09:03:00) [2]HF-Trade © (05.12.05 03:22) [3]
То есть закрыть программу - MainForm.Close
Джо (2005-12-05 03:34:00) [3]
> [4] Profi © (05.12.05 03:23)
> Джо © (05.12.05 3:20) [2]
> Как-то это слишком уж жестоко.
Почему жестоко? Именно для этого исключения и были придуманы - для передачи управления назад по стеку вызовов до первого обработчика.
Profi (2005-12-05 03:23:00) [4]Джо © (05.12.05 3:20) [2]
Как-то это слишком уж жестоко.
Profi (2005-12-05 03:23:00) [5]HF-Trade © (05.12.05 3:22) [3]
Halt.
HF-Trade (2005-12-05 03:22:00) [6]А есть способ прервать все процедуры\функции?
Джо (2005-12-05 03:20:00) [7]Возбудить в ней исключение, а в вызывающем коде его не перехватывать.
Profi (2005-12-05 03:15:00) [8]HF-Trade © (05.12.05 3:01)
Вызывай функцию возвращающею Boolean.
If MyFunction(...) then // function MyFunction(...):boolean;
...
else
exit;