|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Не могу придумать!! Помогите!
Необходимо выполнять действие пока программа работает.
Во время работы проги необходимо переодически смотреть существует ли определенный файл. Если да, то выполнять то-то, else то. Спасибо! |
#2
|
|||
|
|||
1. По таймеру. Недостатки - если обработка файла долгая, то выполнение основной программы будет прервано. Можно невилировать задержки, но все-равно, не самый оптимальный вариант.
2. В обработчике события OnIdle самого приложения (вызывается, когда приложение "не работает", т.е. простаивает). Недостатки - такие же, как и у первого метода. 3. Выкинуть это процесс в отдельную нить (поток). Недостатки - придется заморачиваться с синхронизацией с основным потоком приложения, если в результате надо что-то сказать пользователю. Выбирай, какой больше нравится. |
#3
|
|||
|
|||
При появлении файла в определенной директории должно происходить закрытие программы через заданное время.
Выполнение основной программы происходит по кнопке, а по событию "появление файла" должна закрываться. А onIdle че-то не видел в delphi. |
#4
|
|||
|
|||
Тогда можно по таймеру и вызвать Application.Terminate.
|
#5
|
|||
|
|||
Потоки это оптимальный вариант.
Библия дельфи глава 16-17 |
#6
|
|||
|
|||
Благодарю за советы!!!
Почитаем библию |
#7
|
||||
|
||||
Да нафига здесь потоки? Вот ведь, где надо и ненадо их норовят применить. Задача тривиальная, запустить таймер который будет просто опрашивать каталог на наличие файла с периодичностью хоть в секунду. Никаких тормозов и близко не будет в основном приложении.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |