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.