Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.17;
Скачать: CL | DM;

Вниз

Как отправить потоку сообщение?   Найти похожие ветки 

 
Aleksandr ©   (2003-11-06 16:50) [0]

мне из одного потока другому надо отправить сообщение.

я сделал так:

у потока получателя
procedure IncProgress(var Message : TMessage); message WM_SetNUProgress;
у потока отправителя:
PostMessage(FRecHandle,WM_SetNUProgress,0,0);

и нифига. Отправитель исправно посылает сообщения, а получатель их в упор не получает.


 
Zelius ©   (2003-11-06 16:55) [1]

а как и где создается FRecHandle? Плюс, Вставлен ли в Execute потока цикл выборки сообщений из очереди?


 
Aleksandr ©   (2003-11-06 16:58) [2]

FRecHandle передается отправителю при его запуске (запускается он из потока-получателя).

Нет, не вставлен. А как?


 
Digitman ©   (2003-11-06 17:08) [3]

сообщения код.потоку отправляются с пом. PostThreadMessage() , а не PostMessage()

TMyThread = class(TThread)

FMsg: TMsg;

procedure IncProgress(var Message : TMessage); message WM_SetNUProgress;

end;
...

procedure TMyThread; Execute;
begin
...
while GetMessage(FMsg, 0, 0, 0) do
if FMsg.hwnd = 0 then
Dispatch(Msg.Message)
else
DispatchMessage(FMsg);
...
end;


 
Aleksandr ©   (2003-11-06 18:04) [4]

Спасибо, понял.



Страницы: 1 вся ветка

Текущий архив: 2003.11.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.029 c
14-56841
Fenix==
2003-10-27 21:24
2003.11.17
Мобилы


1-56692
ilka
2003-11-07 16:38
2003.11.17
c VB на Delphi


14-56904
mate
2003-10-25 15:22
2003.11.17
Антивирус.


1-56745
TRyaSS
2003-11-06 14:44
2003.11.17
Что такое системная переменная Path?


1-56737
Aleksandr
2003-11-06 18:12
2003.11.17
Как отскроллировать ListBox в конец его списка