Processo de mensagens do Windows

Delphi

23/06/2005

Olá!
Considerando o código abaixo, como posso tratar as mensagens do Windows?
for i:= 0 to Count do
begin
    If..... blabla.... then
    .
    .
    else if blablabla.... then
    .
    .
    .
    Application.ProcessMessages;
end;

Exemplo: Suponha que durante a execução do ´for´ acima, o Windows tenha recebido uma mensagem de conexão socket, direcionada ao meu programa claro, e que eu precise tratar esta mensagem.

[b:78b0b41464]O problema[/b:78b0b41464]: Como eu faço para saber que o Windows tem essa determinada mensagem na fila?

Valeu
wbb


Wbb

Wbb

Curtidas 0

Respostas

Massuda

Massuda

23/06/2005

Pelo que eu entendo, o Application.ProcessMessages irá processar [b:f1f5ccd5d2]todas[/b:f1f5ccd5d2] as mensagens pendentes para o seu programa.

O que pode acontecer é que devido ao tempo decorrido entre as chamadas a Application.ProcessMessages, sua comunicação poderá falhar devido a demora no programa em responder ao evento do socket (timeouts na outra ponta da comunicação).


GOSTEI 0
Beppe

Beppe

23/06/2005

[b:e20d916165]O problema[/b:e20d916165]: Como eu faço para saber que o Windows tem essa determinada mensagem na fila?

var
  Msg: TMsg;
...
PeekMessage(Msg, 0, WM_SUAMENSAGEM, WM_SUAMENSAGEM, PM_NOREMOVE)



GOSTEI 0
POSTAR