Вверх ↑
Ответов: 9906
Рейтинг: 351
#1: 2007-08-24 14:12:13 ЛС | профиль | цитата
tsdima писал(а):
Так что, пресловутый SendMessage скорее всего всё-таки посылает сообщение в очередь, возможно с более высоким приоритетом, но ждёт (WaitForSingleObject), пока сообщение обработается посредством DispatchMessage

Вот чего я тебе скажу...
Собираю схему
Add(Button,2858051,84,112)
{
Left=20
Top=35
link(onClick,10567583:doStart,[])
}
Add(Thread,10567583,140,112)
{
FastStop=0
link(onSyncExec,9671216:doMessage,[])
}
Add(Message,9671216,196,119)
{
}
Ставлю ловушку в KOL
function TControl.ProcessMessage: Boolean;
var Msg: TMsg;
begin
Result := False;
if PeekMessage( Msg, 0, 0, 0, PM_REMOVE ) then
begin
Result := Msg.message <> 0;
if (Msg.message = WM_QUIT) then
AppletTerminated := True
else
begin
if not(Assigned( fExMsgProc ) and fExMsgProc( @Self, Msg )) then
begin
if Msg.message=CM_EXECPROC then beep(1000,1000); //!!!
TranslateMessage( Msg );
DispatchMessage( Msg );
end;
end;
end;
end;
Результат: нету бипов
карма: 9

0