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

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

опять поток! [D6, WinXP]


Gear ©   (2004-08-20 18:04:00) 

Добрый день! Подскажите пожалуйста, как дочерний поток заставить слушать каждый раз порцию данных от основного потока и после, чтобы он выполнял какие-то действия и после этого не умирал, а ждал следующей команды от основного потока?


Gear   (2004-08-20 23:42:00) [1]

Если не сложно пример небольшой можно?


 TSessionThread = class(TThread)
 private
  FForm1: TForm1;
 protected
  procedure Execute; override;
 public
  ID: string;
  constructor Create(AForm1: TForm1; AID:String);
  destructor Destroy; override;
 end;

...

procedure TSessionThread.Execute;
begin
  FreeOnTerminate := True;
  FForm1.Memo1.Lines.Add(ID);
end;

...


что здесь нужно написать, чтобы при посылке значения ID из основного потока второстепенному, второстепенный добавлял ID в memo и после этого не умирал, а ждал новой посылки от основного потока?


Суслик   (2004-08-20 18:13:00) [2]

что все в потоки то ломанулись?

слушать можно:
1. Через event (см. msdn createevent+WaitForsingleobject).
2. Через очередь сообщений (см. postthreadmessage+getmessage,peekmessage,waitforsingleobjectmsg)

да полно методов.


Наверх

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