ну если заглянуть в Forms.pas, то можно оттуда (из TApplication точнее говоря) вытащить (код уже отделен от классового):
Код:
function ProcessMessage(var Msg: TMsg): Boolean;
//var
// Handled: Boolean;
begin
Result := False;
if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then
begin
Result := True;
if Msg.Message <> WM_QUIT then
begin
// Handled := False;
// if Assigned(FOnMessage) then FOnMessage(Msg, Handled);
// if not IsHintMsg(Msg) and not Handled and not IsMDIMsg(Msg) and
// not IsKeyMsg(Msg) and not IsDlgMsg(Msg) then
// begin
TranslateMessage(Msg);
DispatchMessage(Msg);
// end;
end;
// else
// FTerminate := True;
end;
end;
procedure ProcessMessages;
var
Msg: TMsg;
begin
while ProcessMessage(Msg) do {loop};
end;