Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
1-8433
BelAS
2003-10-22 05:34
2003.11.03
Компонент


1-8459
zapped
2003-10-24 13:13
2003.11.03
Delphi 5 vs Delphi 7


1-8461
icebeerg
2003-10-24 13:38
2003.11.03
Чтение ярлыка


14-8609
Skyle
2003-10-14 15:26
2003.11.03
Возник спор о правомерности продаж ПО


3-8318
gs
2003-10-13 01:56
2003.11.03
Подскажите кто-нибудь как подключиться ч-з BDE к DBF




   Наверх