Форум: "WinAPI";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];
ВнизКак вернуть ответ на SendMessage. Найти похожие ветки
← →
nester (2002-07-01 19:24) [0]Как вернуть ответ из процедуры-обработчика сообщения, процедуре, которая вызвала в своем теле SendMessage, не дожидаясь окончани выполнения самой процедуры-обработчика. Только не советуйте использовать вместо этого PostMessage - он мне не подходит
← →
anatol (2002-07-01 19:59) [1]pro4itai v helpe pro functsiu ReplyMessage. Metod cotorii prinimaet message doljen bit" v drugom potoke po sravneniu s metodom cotorii delaet sendmessage a to ne budet nicocogo efecta.
← →
Diamond Cat (2002-07-02 00:17) [2]Procedure Tformsender.НажалКнопку(...);
Begin
if sendmessage(тра-ля-ля...)=2 then showmessage("тру-лю-лю") else
....;
end;
///////////////////
procedure Tformreciver(var message:Tmessage);
begin
message.result:=2;
.........
end;
тобиш в проседуре обрабатывающей пришедшее сообщение в result присваиваешь ответ
← →
nester (2002-07-02 01:05) [3]Балалайку, так не работает.
Мне нужно:
Procedure Tformsender.НажалКнопку(...);
Begin
sendmessage(тра-ля-ля...)
//Место1
....;
end;
///////////////////
procedure Tformreciver(var message:Tmessage);
begin
//Сижу думаю, отвечать или нет
//Наконец додумал решил ответить:
message.result:=2;
//После этого нужно, чтобы продолжалось с Места1 в первой процедуре, и вместе(или после Места1) поехало тут дальше...
.........
end;
Так вот по твоей схеме после message.result:= 2 SendMessage не возвращается, а продолжается выполнение второй процедуры, а мне нужно, чтобы именно в этот момент вернулось в Место1, не дождавшись завершения второй процедуры(Tformreciver)
← →
Юрий Зотов (2002-07-02 01:16) [4]В ОДНОМ потоке так не получится - особенность SendMessage в том и состоит, что она напрямую вызывает оконную функцию, примерно как обычная процедура. Поэтому, естественно, пока вся цепочка обработки сообщения не отработает, возврата не происходит.
А вот в РАЗНЫХ потоках (или процессах) - это, пожалуй, действительно вариант, anatol дело говорит. Посмотрите ReplyMessage.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c