Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
1-3343
alex_x
2002-08-21 18:14
2002.09.02
Дата Project Build


14-3588
SemFLY
2002-08-05 01:36
2002.09.02
VEG y, классный у тя сайт... !!!!!


1-3339
Smok_er
2002-08-21 18:27
2002.09.02
DblClick на Tab e PageControl a


4-3663
SeB
2002-06-20 10:59
2002.09.02
Блокировка машины в Windows и неубиваемая программа


1-3359
CCCatch
2002-08-21 12:40
2002.09.02
Избавление от нулей в строчке???





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский