Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Потоки [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()


Наверх

Титульная страница Поиск, карта сайта Написать письмо