![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как остановить процедуру
Кириешки © (2004-08-12 08:56:00)Процедура выполняестся постоянно, тоесть в ее конце стоит указатель на начало её же самой по новой. Она выполняется до появляний некоторых условий. А если условий нету и мне надо ее остановить, то как это сделать из другой процедуры? То есть как одну циклическую процедуру остановить из другой процедуры?
Skyle (2004-08-12 10:16:00) [21]
> [21] Гаврила © (12.08.04 10:15)
Тот же Raise...
Гаврила (2004-08-12 10:15:00) [22]
> Как вызвать Exit из другой процедуры.
Abort
выход из всех процедур, или до ближайшей секции except
REA (2004-08-12 10:11:00) [23]>она у меня была функцией, но условий на выход возникало слишком дофига - поэтому она процедура теперь
О как
Кириешки (2004-08-12 10:03:00) [24]Anatoly Podgoretsky © (12.08.04 10:00) [17]
Дык я же его не знаю.
Он сначала трояна пускал чтобы узнать админовский пароль, а теперь вот эту шнягу придумал. :(((
Я с этим **** бороться уже устал.
Кириешки (2004-08-12 10:01:00) [25]ALS © (12.08.04 09:53) [14]
Гаврила © (12.08.04 09:58) [16]
НЕТ, она у меня была функцией, но условий на выход возникало слишком дофига - поэтому она процедура теперь. А Exit тут вообще не в тему. Как вызвать Exit из другой процедуры.
Anatoly Podgoretsky (2004-08-12 10:00:00) [26]Кириешки © (12.08.04 09:58) [15]
Чувака на растрел.
Гаврила (2004-08-12 09:58:00) [27]Заменить на boolean-функцию, или добавить с вар-параметр
Если пора выходить - присваиваем False и по цепочке рекурсии выходим отовсюду
То есть вначале проверяем флаг ,если false - выходим сразу
таким обрназом стек будет раскручен до момента первого входа
Поднимать исключения в данном случае не совсем правильно имхо
из пушки по воробьям
Кириешки (2004-08-12 09:58:00) [28]REA © (12.08.04 09:50) [13]
Окно которое хочет создаться - не мое. Это окно... Его даже окном не назвать, так, окошко...
Это программа одного чувака, который ее в нашем компьютерном клубе повесил. Она блокирует программу админа на запрет доступа к компу пользователей не оплативших время. Если вырубить программу
этого чувака - комп сразу вырубается. Так вот я и делаю ее "безвредной" и координаты ее рисования : - 2000,-2000.
ALS (2004-08-12 09:53:00) [29]> то-то типа abort procedure
Exit?
REA (2004-08-12 09:50:00) [30]>не пытается ли создаться окно мне неприятное
А откуда оно возьмется "такое некрасивое", если работает процедура?
Кириешки (2004-08-12 09:38:00) [31]Цикличная процедура проверяет не пытается ли создаться окно мне неприятное - если пытается, то засовываем в него нужные данные и координаты рисования и прерываем процедуру. Так как мне ее прервать "извне", то-то типа abort procedure
REA (2004-08-12 09:31:00) [32]Если она уже выполняется, то остановить (повлиять на ее работу) ее можно только из другого потока, либо временно отдавая управление OS.
Vlad Oshin (2004-08-12 09:27:00) [33]
> KADAN © (12.08.04 09:03) [2]
> в другой процедуре присвоить какой-либо переменной true
> и проверять это в первой.
всегда так делаю
Anatoly Podgoretsky (2004-08-12 09:17:00) [34]Кириешки © (12.08.04 08:56)
Никак выход ограничивается рамками процедуры.
Думкин (2004-08-12 09:16:00) [35]> [6] Skyle © (12.08.04 09:14)
Я не про катит, а про то, что это не
procedure a;
begin
......
a
end;
А в остальном - автора надо ждать.
KSergey (2004-08-12 09:16:00) [36]> [6] Skyle © (12.08.04 09:14)
См. последюю строчку из [3]
Skyle (2004-08-12 09:14:00) [37]
> [3] Думкин © (12.08.04 09:05)
Ну даже если и так. Почему не катит-то?
KSergey (2004-08-12 09:09:00) [38]> [3] Думкин © (12.08.04 09:05)
> Не... у него
> while a do ;
> что-то такое.
Судя по вопросу - да
Но утверждать это однозначно - я бы не стал ;)
Alx2 (2004-08-12 09:08:00) [39]В отдельном потоке выполнять эту процедуру
Думкин (2004-08-12 09:05:00) [40]> [1] Skyle © (12.08.04 09:03)
Не... у него
while a do ;
что-то такое.
А как другая процедура получает время на выполнение?