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

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

Как отловить сообщение в дочернем потоке?


Shopot ©   (2005-08-01 17:12:00) 

Я делаю так.

var t1: THandle; Terminate: Boolean = False;

function WINAPI func(Param: Pointer)
begin
 LoadData(...);

 while not Terminate do
 begin
   ...
 end;

 UnLoadData(...);
end;

procedure Form1.Button1OnClick()
begin
 t1 = CreateThread (...);
 Terminate = False;
 ResumeThread (t1);
end;

procedure Form1.Button2OnClick()
begin
 Terminate = True;
 ...
 обновление данных
 ...
 Button1.Click;
end;

Но главный поток не отдает управление дочернему пока не выполнится сам и поэтому дочерний поток не видит что данные изменились и не загружает их. Он просто не останавливается.
Что делать?


Digitman   (2005-08-02 08:21:00) [1]


> Shopot ©   (01.08.05 17:18) [2]


SendMessage() предназначена для отправки сообщений не потокам, а окнам


> Как отловить


а где и как ты собственно "ловишь" ?


Игорь Шевченко   (2005-08-01 17:52:00) [2]

Shopot ©   (01.08.05 17:18) [2]

Справку читай


Shopot   (2005-08-01 17:18:00) [3]

Да вот.

procedure Form1.Button3OnClick()
begin
 SendMessage(t1, MY_MESSAGE);
end;


Игорь Шевченко   (2005-08-01 17:15:00) [4]


> Как отловить сообщение в дочернем потоке


Иде сообщение ?


Наверх

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