Текущий архив: 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.44 MB
Время: 0.009 c