Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#10

Re: Nachrichtenschleife wird nicht beendet

  Alt 13. Feb 2009, 10:04
Zitat von Zoot:
Deine Messageschleife ist doch völlig unabhängig von dem Fenster.
Für den Mechanismus schau dir mal in Forms.pas Application.processmessage und Application.run an.

[edit] bin ich langsam...[/edit]
jupp, bist'e

und nee, unabhängig ist sie nicht ... beide Schleifchen (seine und die in Application) verarbeiten alle Nachrichten des gesamten Threads, nur daß bei seiner Schleife bestimmte Nachrichten zwar angenommen, aber nicht entsprechend verarbeitet werden. Halt z.B. und halt WM_CLOSE nicht richtig/angemessen behandelt.

z.B.:
Delphi-Quellcode:
procedure TCustomForm.Close;
begin
  ...
  if CloseAction <> caNone then
    if Application.MainForm = Self then Application.Terminate
in seinem Fall ist beim Schließen seiner Form Application.MainForm <> Self und demanch wird das Programm und nicht beendet.
$2B or not $2B
  Mit Zitat antworten Zitat