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

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

Как остановить процедуру


Страницы:   1 2 3

Кириешки ©   (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 ;
что-то такое.
А как другая процедура получает время на выполнение?


Страницы:   1 2 3

Наверх

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