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

Вниз

Как вернуть ответ на 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.017 c
3-3308
koks
2002-08-08 17:09
2002.09.02
подскажите ламеру в IB6 :))


1-3433
Елена
2002-08-23 06:45
2002.09.02
Окна и формы


3-3268
michael_b
2002-08-12 11:30
2002.09.02
как присвоить полю типа char (бд InterBase) переменную типа Strin


4-3668
nester
2002-07-01 19:24
2002.09.02
Как вернуть ответ на SendMessage.


14-3577
Kesh
2002-08-03 01:18
2002.09.02
Помогите binkw32.dll