Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
Delphi 12 Athens
|
AW: Programm Stop
17. Feb 2021, 16:33
Warum nicht Application.ProcessMessages;
verwenden?
Delphi-Quellcode:
procedure WinProcessMessages;
var
ProcMsg: TMsg;
Handled: Boolean;
begin
while PeekMessage(ProcMsg, 0, 0, 0, PM_REMOVE) do
begin
{ Der Teil fehlt auch alles bei dir, welchen Application.ProcessMessages sonst eigentlich machen würde.
Handled := False;
if Assigned(Application.OnMessage) then
Application.OnMessage(MsgProcMsg, Handled);
if Application.IsPreProcessMessage(ProcMsg) or Application.IsHintMsg(ProcMsg) or Handled
or Application.IsMDIMsg(ProcMsg) or Application.IsKeyMsg(ProcMsg) or Application.IsDlgMsg(ProcMsg) then
Continue;
}
if (ProcMsg.message = WM_QUIT) then
begin
Application.Terminate; // denn wie soll Delphi sonst das Ende mitbekommen, wenn du alle Messages hier abfängst?
Break; // oder Exit; ... verlässt Beides diese Prozedur, da nach der Schleife eh Schluß ist
end;
TranslateMessage(ProcMsg);
DispatchMessage(ProcMsg);
end;
end;
$2B or not $2B
Geändert von himitsu (17. Feb 2021 um 16:44 Uhr)
|
|
Zitat
|