Thema: Timer enablen

Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#17

Re: Timer enablen

  Alt 9. Nov 2009, 17:01
Zitat von blauweiss:

dafür bietet sich z.B. aControl.Paint oder aControl.Refresh an.
Da ich damit (in Schleifen, langen Verarbeitungsabfolgen) bisher keinen Erfolg hatte....

Zitat von blauweiss:

Gefährlich: Mit Application.ProcessMessages wird quasi Parallelität ermöglicht.
Folgendes Beispiel:
In einem ButtonClick wird eine komplexe Berechnung auf dem "aktuellen Datensatz" durchgeführt. Weil während der Berechnung die Anwendung scheinbar eingefroren ist, wird jetzt z.B. in einer Schleife Application.ProcessMessages aufgerufen. Damit wird aber die Windows-Nachrichtenschleife abgearbeitet ! Der Anwender kann den Button ein weiteres Mal klicken -> die gleiche Berechnung startet ein weiteres Mal, während noch die vorherige läuft. Oder der Anwender ruft den Menuepunkt "Datei entfernen" auf -> der Datensatz wird entfernt, auf dem "gleichzeitig" die Berechnung läuft.

Application.ProcessMessages kann sehr nützlich sein, aber man muß sich bewußt sein, daß bestimmte Benutzeraktionen dann ausgeschlossen werden müssen.
Dem wäre dann nichts mehr hinzuzufügen?!
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat