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

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

Прерывание затяжной функции


Gamar ©   (2003-01-19 15:51:00) 

Имеется долговыполняющаяся функция с ProcessMessages. Как прервать ее выполение из другой функции?


Reindeer Moss Eater   (2003-01-19 16:39:00) [1]

Точно... Но приложение должно работать.
Это надо было написать в (19.01.03 15:51)


Gamar   (2003-01-19 16:36:00) [2]

>Reindeer Moss Eater
Точно... Но приложение должно работать.
В общем разобрался, всем спасибо :)


Reindeer Moss Eater   (2003-01-19 16:30:00) [3]

В твоем случае Application.Terminate, Halt и все такое


Gamar   (2003-01-19 16:27:00) [4]

>Reindeer Moss Eater
Я имею ввиду, что не использую Threads (или как оно пишется), я вообще не работал с ними. Обычное приложение, две функции. Одна останавливает другую.
Ну, а как остановить поток?


Anatoly Podgoretsky   (2003-01-19 16:26:00) [5]

Странного хоочешь, ни чего общего и что бы было общее, ну может тогда зоть исключение возбудишь.


Reindeer Moss Eater   (2003-01-19 16:19:00) [6]

Дело в том, что у меня нет потоков.
И даже основного нет?


Gamar   (2003-01-19 16:16:00) [7]

>Reindeer Moss Eater
Дело в том, что у меня нет потоков.

>Романов Р.В.
А можно использовать глобальные переменные Application по другому назначению?
А про ссылку кажется пойдет :)


Романов Р.В.   (2003-01-19 16:11:00) [8]


> но дело в том, что функция описана в другом модуле, она
> автономна и не может иметь общих глобальных переменных с
> приложением.


Как это не может. Она уже имеет общию переменную Application (Application.ProcessMessages)


Романов Р.В.   (2003-01-19 16:02:00) [9]

Передавай в процедуру в месте с параметрами указатель на глобальную переменную.


Reindeer Moss Eater   (2003-01-19 16:00:00) [10]

Убивай поток в котором она выполняется, или сам процесс.
Выполнение функции точно прервется :)


Gamar   (2003-01-19 15:55:00) [11]

Да, действительно, это хорошее решение, но дело в том, что функция описана в другом модуле, она автономна и не может иметь общих глобальных переменных с приложением.


Романов Р.В.   (2003-01-19 15:52:00) [12]

Сделай глобальную переменную - флаг. В цикле проверяй его значение и выходи если он изменится.


Наверх

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