Thema: Timer enablen

Einzelnen Beitrag anzeigen

blauweiss

Registriert seit: 19. Jun 2007
142 Beiträge
 
#14

Re: Timer enablen

  Alt 9. Nov 2009, 16:40
[quote="p80286"]Wenn man an der anzeige "herum fummelt" dan müssen diese änderungen ja auch irgendwie zur Anzeige kommen.
Warum sollte diese Anzeigeänderung dann damit nicht durchgeführt werden?

dafür bietet sich z.B. aControl.Paint oder aControl.Refresh an.

Zitat von blauweiss:
Zitat von DeddyH:
Im Gegenteil, Application.ProcessMessages ist so ziemlich das Gefährlichste, wenn es unbedarft "einfach mal so" eingesetzt wird.
Es ist mir ein Rätsel, warum diese "Lösung" für reine Anzeigeaktualisierungsprobleme hier im Forum so gerne vorgeschlagen wird.

blauweiss
Was, bitte, ist daran gefährlich? Überflüssig, ja, gefährlich???

Bitte, ich bin für jede Belehrung dankbar.

Gruß
K-H

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.

Grüße,
blauweiss
  Mit Zitat antworten Zitat