Performance - appprocessmessage outro metodo mais rapido

Top  Previous  Next

// Este é igual e mais rápido do que o Application.ProcessMessages:

// Pode ser usado em DLL ou quando não quer coloca uses forms na unit

// só por causa do Application.

 

function DoEvents: Boolean;

var

  msg: TMsg;

begin

  while PeekMessage(msg, 000, PM_REMOVE) do

    if msg.message = WM_QUIT then

    begin

      PostQuitMessage(msg.wParam);

      Result := True;

      Exit;

    end

    else

    begin

      TranslateMessage(msg);

      DispatchMessage(msg);

    end;

  Result := false;

end;

 

// OBs: Se voce olhar o fonte do Application.ProcessMessages

// vai ver que é QUASE IGUAL!