![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
опять поток! [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)
да полно методов.