![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подвисание программы [D6, WinXP]
XeON © (2006-03-21 00:49:00)Доброго всем времени суток. Помогите пожалуйста решить проблему. Программа читает побайтово бинарный файл, накручивая при этом ProgressBar. И возникает следующая ситуация: ПрогрессБар идёт, а форма - наглухо висит! После того, как чтение завершено - форма снова отвисает. Подскажите пожалуйста, как избавиться от "Подвисания". Всем благодарен за внимание.
XeON (2006-04-01 22:15:00) [1]
> Германн
Ну ты прям доследователь... Лучше бы по делу что сказал, а не рассказывал, что мне делать! Как сказал Н. Фоменко: "Не говорите мне, что делать - и я не скаду Вам, куда вам идти".
Германн (2006-03-23 02:30:00) [2]
> XeON © (23.03.06 01:07) [7]
>
> А мне кажется
Когда "кажется" креститься надо! Это всем известно! :-)
> Но ещё хотелось бы уточнить... А можно ли всё это дело загнать
> под KOL? Ведь в KOL нет Application.ProcessMessages;...
> А мне кажется это надо было в конференцию KOL перенести!
А почему сразу не задал вопрос в конференции KOL?
Темнишь ты что-то.
XeON (2006-03-23 01:07:00) [3]А мне кажется это надо было в конференцию KOL перенести!
XeON (2006-03-21 11:59:00) [4]Спасибо большое братья по разуму! Application.ProcessMessages; помогло! Работает всё на ура! И не тормозит. Даже кнопку отмне селать можно :)
Но ещё хотелось бы уточнить... А можно ли всё это дело загнать под KOL? Ведь в KOL нет Application.ProcessMessages;...
Всм ещё раз БОЛЬШОЕспасибо за внимание!
Германн (2006-03-21 02:43:00) [5]
> XeON © (21.03.06 00:49)
>
> Доброго всем времени суток. Помогите пожалуйста решить проблему.
> Программа читает побайтово бинарный файл, накручивая при
> этом ProgressBar. И возникает следующая ситуация: ПрогрессБар
> идёт, а форма - наглухо висит! После того, как чтение завершено
> - форма снова отвисает. Подскажите пожалуйста, как избавиться
> от "Подвисания". Всем благодарен за внимание.
>
Советы в [3] и [4] тебе несомненно могут помочь!
Но только в том случае, если их авторы правильно "стелепировали" твою задачу.
Ведь ты не привёл свой код! Который "якобы" работает, но не так как тебе хочется.
Piter (2006-03-21 01:48:00) [6]XeON © (21.03.06 1:12) [2]
читать не как поток, а В ДРУГОМ ПОТОКЕ, в другой НИТИ, если угодно.
Информации на эту тему в интернете - вагон и маленькая тележка.
ANB (2006-03-21 01:42:00) [7]
> XeON © (21.03.06 01:12) [2]
Читать файл в цикле. В тело цикла воткнуть Application.ProcessMessages;
Если будет сильно тормозить, то Application.ProcessMessages; выдавать не каждую итерацию, а, например, каждую 10-ю. Но лучше сразу читать большими кусками.
XeON (2006-03-21 01:12:00) [8]А вот с этого момента поподробнее пожалуйста! Я читаю файл как File of Char. Т.к. Читать файл как поток - не представляется возможным для моих целей.
Piter (2006-03-21 00:56:00) [9]Читать файл в дополнительном потоке, а не в основном, в котором происходит прорисовка формы.