![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Потоки [D5, Win95/98]
Sniffer © (2002-12-06 12:55:00)Уважаемые мастера, объясните новичку в этом вопросе, как работать с потоком. А именно меня интиресует вот что:
Я написал прогу, добавил поток и хочу чтобы обновление главной формы(их у меня только одна) выполнялась вторичным потоком, а не основным как раньше. Всем сенкс.
roman_tutov (2002-12-07 12:25:00) [1]А если все вычесления загнать в фоновый поток ?
Вроде логичнее ...
Sniffer (2002-12-06 19:31:00) [2]У меня в перерисовке очень много вычислений, поэтому нужен ещё один поток.
MrAngel (2002-12-06 14:22:00) [3]слушай а зачем тепе делать обновление во вторичном потоке???
[NIKEL] (2002-12-06 14:06:00) [4]делаешь свой класс от TThread;
в private объявляешь i
в protected объяв.
procedure Execute; override;
procedure Paint;
TMyThread.Paint;
begin
Form1.Label1.Caption := IntToStr(i);
Form1.Update; //Refresh, Repaint :)
end;
procedure TMyThread.Execute;
begin
i:=1;
repeat
Inc(i);
Synchronize(Paint);
until Terminated;
end;
и все...
Виктор Щербаков (2002-12-06 13:00:00) [5]VCL не расчитана на многопоточный интерфейс.
Максимум, что можно - посылать из вторичного потока сообщения о необходимости обновления формы.
VaS (2002-12-06 12:58:00) [6]Synchronize()