Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.19;
Скачать: CL | DM;

Вниз

приложение не слушается!!!   Найти похожие ветки 

 
Trych ©   (2006-03-02 11:09) [0]

Подскажите пожалуйста! Программа в цикле читает из файла строчки, строку прочитала, далее sleep на пару секунд, на внешние раздражители, то бишь щелчок по кнопичке закрыть либо не реагирует, либо реагирует невовремя. Как исправить?


 
Ega23 ©   (2006-03-02 11:11) [1]

Application.ProcessMessages вставить.
Или читать в отдельном потоке (ИМХО, более правильно).


 
Marser ©   (2006-03-02 11:12) [2]

Добавь Application.ProcessMessages в цикл
Тогда программа будет реагировать на внешние раздражители.


 
Marser ©   (2006-03-02 11:13) [3]

> Или читать в отдельном потоке (ИМХО, более правильно).

Согласен.


 
Гаврила ©   (2006-03-02 11:20) [4]


> > Или читать в отдельном потоке (ИМХО, более
> правильно).

Не согласен )))


 
tesseract ©   (2006-03-02 11:22) [5]


> Согласен.

тоже согласен на все 100%


 
Marser ©   (2006-03-02 11:29) [6]

> [4] Гаврила ©   (02.03.06 11:20)

Баба Яга против?
Или с синхронизацией предвдишь проблемы?


 
umbra ©   (2006-03-02 11:31) [7]

интересно, зачем вообще sleep нужен при чтении файла?


 
Sergey13 ©   (2006-03-02 11:33) [8]

2[7] umbra ©   (02.03.06 11:31)
>интересно, зачем вообще sleep нужен при чтении файла?
А подумать над прочитанным. Осмысление однако. 8-)


 
Trych ©   (2006-03-02 11:39) [9]

Псиб. Аппликейшн не сильно помогает. А слип нужен чтобы была задержка по времени, ибо так нада :)


 
Сергей М. ©   (2006-03-02 11:40) [10]


> Sergey13 ©   (02.03.06 11:33) [8]


> подумать над прочитанным. Осмысление однако


И что же ты осмыслил, подумав ?
Я вот, тундра эдакая. тоже не понял, для чего sleep тут нужен ..

Просвети ?


 
Ega23 ©   (2006-03-02 11:40) [11]


> А слип нужен чтобы была задержка по времени, ибо так нада
> :)


Железная логика.
application.processmessages куда вставил-то?


 
Сергей М. ©   (2006-03-02 11:42) [12]


> Trych ©   (02.03.06 11:39) [9]


> слип нужен чтобы была задержка по времени, ибо так нада


"так нада" - шедевр изложения ТЗ ?


 
Trych ©   (2006-03-02 11:49) [13]

Аппликейшн как и стоило бы думать был вставлен в цикл. А задержка нужна для имитации реальной системы, вот.


 
umbra ©   (2006-03-02 11:51) [14]

2 Sergey13 ©   (02.03.06 11:33) [8]

подумал, но так и не понял, зачем делать задержку именно при чтении файла.


 
Trych ©   (2006-03-02 11:53) [15]

я вот об этом уже тож пАдумал... Вот пАпью кофе и все переделаю!


 
Сергей М. ©   (2006-03-02 11:55) [16]


> задержка нужна для имитации реальной системы, вот


Ну так и воспользуйся иными API-ф-циями, реализующими неблокирующий таймер ! Вот.


 
Sergey13 ©   (2006-03-02 11:56) [17]

2[10] Сергей М. ©   (02.03.06 11:40)
2[14] umbra ©   (02.03.06 11:51)
Проще надо быть. И на смайлики внимание обращать.
8-) показывает, что я в очках и улыбаюсь.
Вы когда читаете, осмысливаете то, что читаете? Вот и программа - осмысливает и переваривает. 8-)


 
umbra ©   (2006-03-02 11:59) [18]

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


 
Сергей М. ©   (2006-03-02 12:23) [19]


> Trych ©  


Если операция чтения из файла длится заведомо менее 2-х секунд, то нет повода выпендриваться со всякими sleep"ами и прочими блокирующими ф-циями задержек - достаточно бросить на форму таймер, назначить интервал его срабатывания 2 сек, а в обработчик события тика таймера поместить код чтения очередной порции файла.


 
Гаврила ©   (2006-03-02 12:35) [20]


> Marser ©   (02.03.06 11:29) [6] [Новое
>сообщение][Ответить]
>> [4] Гаврила ©   (02.03.06 11:20)
>
>Баба Яга против?
> Или с синхронизацией предвдишь проблемы?


Я полагаю, что не нужно плодить лишние сущности.
Отдельный поток в данном случае целесообразен, если специфика задачи предполагает, что пользователь запустил процесс, и продолжает работать с программой, выполняя какие-то другие задачи.
Если же пользователь по любому ждет окончания операции, и максимум, что может сделать - это нажать кнопку "отмена", то Processmessages - самое то.
То есть концептуально - сколько задач выполняется отдновременно, столько и потоков. А отмена задачи сама по себе задачей не является.


> Или с синхронизацией предвдишь проблемы?


Ну и это разумеется тоже (учитывая уровень вопроса:-) )



Страницы: 1 вся ветка

Текущий архив: 2006.03.19;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.064 c
8-1129184506
kyn66
2005-10-13 10:21
2006.03.19
Где найти ?


2-1141013273
walkernet
2006-02-27 07:07
2006.03.19
вопрос по LMD Tools 2003


15-1140678678
antonn
2006-02-23 10:11
2006.03.19
Рашифровка ника


15-1140883320
Игорёк
2006-02-25 19:02
2006.03.19
Delphi 2006


1-1139728566
Vacek
2006-02-12 10:16
2006.03.19
Мгновенный доступ к node, компонента ttreeview.