![]() |
Wie funktioniert Application.ProcessMessages?
Hallo,
ich habe ein kleine Verständnisfrage: Wenn ich in einem Ablauf (der sehr lange dauert) immer mal wieder
Delphi-Quellcode:
aufrufe, dann erreiche ich ja, dass die Anwendung auf Windows-Messages reagieren kann und sich neu zeichnet und auf Events
Application.ProcessMessages;
reagieren kann. Hier jetzt meine Frage, angenommen ich habe einen Ablauf und rufe ProcessMessages auf, dann wird ja sofort alle Windows Nachrichten abgearbeitet. Wenn ich nun ein OnMouseClick Event irgendeiner Komponente definiert habe und dann ein bestimmten Quellcode bereich abarbeite, dann wird ja erst all das abgearbeitet, bis es die Nachrichtenschleife leer ist oder? Erst dann geht es doch nach Application.ProcessMessages weiter oder????? Danke euch |
Re: Wie funktioniert Application.ProcessMessages?
Zitat:
Deshalb sollte man alle Menues, Buttons und Actions sperren bis der Job fertig ist. Am Besten fährt man, wenn man Aktions benützt; das hilft bei der Organisation. Man braucht einen Try..Finally Schutzblock, damit nach einer Exception das Programm nicht unbedienbar wird:
Delphi-Quellcode:
procedure TForm1.ActionDoWorkExecute(...);
begin ActionDoWork.Enabled := False; try TueDieLangeUndSchwereArbeit; finally ActionDoWork.Enabled := True; end; end; |
Re: Wie funktioniert Application.ProcessMessages?
@shmia:
Hi danke für deine Antwort, du schreibst von Actions, wie und was sind den genau Actions? Habe es schon in mehreren Zusammenhängen gelesen... Gruß DelphiManiac |
Re: Wie funktioniert Application.ProcessMessages?
Zitat:
Actions werden mit der Komponente TActionList (auf Palettenseite "Standard") angelegt. Actions sind eine Art Zwischenhändler. Man kann z.B. eine Action gleichzeitig mit einem Memüpunkt und einem Button verknüpfen. Jede Änderung an den Properties Caption, Enabled oder Visible wird sich sofort auf die verknüpften Controls aus. Mehr dazu in der OH. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz