Форум: "Основная";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];
Внизwhy? Найти похожие ветки
← →
ananimious (2003-10-23 22:00) [0]Создавая свой компонент вынес кусок кода, в котором выполняется длительное действие в отдельный поток. И теперь, когда оно выполняется окно программы виснет (временно). Почему, ведь за отрисовку окна отвечает основной поток, а длительное действие выполняется в другом?
← →
romeo (2003-10-23 22:04) [1]А может нужен Application.ProcessMessages?..
А может и нет...
← →
Rouse_ (2003-10-23 22:11) [2]Видимо отрисовка окна вызывается из потока. Если так то поток теряет свое преимущество.
Желаю успехов
← →
Alex134 (2003-10-23 22:41) [3]
> А может нужен Application.ProcessMessages?..
> А может и нет...
Может и нет )
> Rouse_ © (23.10.03 22:11) [2]
> Видимо отрисовка окна вызывается из потока. Если так то
> поток теряет свое преимущество.
Главный поток получает сообщения виндовс и отрисовывает окно программы,
Второй поток работает паралельно главному, в нем выполняются продолжительные действия. Какая между ними связь?
← →
Rouse_ (2003-10-23 22:52) [4]Если во втором потоке есть что либо похожее на Form1.Label1.Caption := ... или тому подобное, то сами подумайте какая может быть связь? Кода я не вижу поэтому просто высказываю предположения.
Желаю успехов
← →
jack128 (2003-10-23 22:56) [5]
> Если во втором потоке есть что либо похожее на Form1.Label1.Caption
> := ...
Если прямо так и написано, то это ГРУБАЯ ошибка - можно огрести неприятные ошибки.. см TThread.Synchronize
если же используется часто используется TThread.Synchronize то доп. поток действительно теряет свои преимущества(так как ожидает окончания перерисовки в основном потоке) тут нужно использовать PostMessage(..);
← →
Rouse_ (2003-10-23 23:01) [6]> jack128 © (23.10.03 22:56) [5]
Привел просто в качестве примера, кстати много раз видел именно такой вариант кода, когда человек и понятия не имеет о Synchronize.
Желаю успехов
← →
ananimious (2003-10-23 23:53) [7]Поток2 не работает с формой вообще
← →
Rouse_ (2003-10-24 00:04) [8]> ananimious (23.10.03 23:53) [7]
Приведите код, иначе и дальше будут высказываться предположения о возможных недочетах. Два вам привели.
Желаю успехов
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c