Главная страница
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.015 c
3-3249
Zmey
2002-08-12 00:52
2002.09.02
как в MySQL вставлять дату и время с сервера?


3-3292
TAN
2002-07-23 17:24
2002.09.02
MySql


3-3302
CashDi
2002-08-13 09:34
2002.09.02
Получение имени пользователя IB6, FireBird


1-3349
XPatriot
2002-08-18 00:43
2002.09.02
MDIForm ы


3-3288
Igel
2002-08-06 12:36
2002.09.02
Сохранение данных