![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TApplication.ProcessMessages в консоли ?
sydenis © (2007-11-21 20:35:00)Если консольное приложение сильно нагружает систему, как в нём периодически давать поработать остальным в очереди сообщений?
У меня ррограмма в цикле ждёт пока закончится другой процесс. Когда это реализуешь в форме, то нет проблем -TApplication.ProcessMessages всё отрабатывает. А в консоли встаём намертво.
sydenis (2007-11-21 23:03:00) [1]If the RasDial call specifies a notification handler, the call is asynchronous
упс блин ;)) то есть типа ему не надо callback функцию передавать и он станет синхронным? это дело! Большой сэнкс будем пробовать
а про цикл - это про RasHagUp написано было - там не отвертеться...
Reindeer Moss Eater (2007-11-21 22:43:00) [2]An optional notification handler that receives progress notifications during the connection operation. If the RasDial call specifies a notification handler, the call is asynchronous; otherwise, it is synchronous.
homm (2007-11-21 22:38:00) [3]> [0] sydenis (21.11.07 20:35)
> Если консольное приложение сильно нагружает систему, как
> в нём периодически давать поработать остальным в очереди
> сообщений?
Если приложение консольное, у него нет очереди сообщений.
sydenis (2007-11-21 22:35:00) [4]
> Application.ProcessMessages к загрузке/разгрузке системы
> не имеет ни малейшего отношения
игра слов
> А чтобы не крутить пустые циклы вызывай расдиал в синхронном
> режиме
а это как? по крайней мере дельфиский help советует именно вариант с циклом, про синхронный режим там ничего нет...
Reindeer Moss Eater (2007-11-21 22:17:00) [5]Application.ProcessMessages к загрузке/разгрузке системы не имеет ни малейшего отношения. А чтобы не крутить пустые циклы вызывай расдиал в синхронном режиме.
sydenis (2007-11-21 22:14:00) [6]как раз это и не получается...
Речь идёт о подключении к инету. Запускаю ф-ю RasDial, она сразу возвращается и прога переходит к следующим операторам. А реально подключение устанавливается ещё некоторое время... У меня дальше идёт RasGetConectionState, sleep на 0.5сек и Application.ProcessMessages в цикле пока не будет либо RASC_connected либо не истечёт таймаут. И тока потом начинаются обращения в инет. В форме (где есть Application) это прокатывает, а в консоли - нет...
Reindeer Moss Eater (2007-11-21 20:40:00) [7]отдать тики другим процессам - периодический sleep