Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
Delphi 2006 Architect
|
Re: wave nach Textausgabe abspielen, Reihenfolge stimmt nich
4. Nov 2003, 12:43
Während Update lediglich die visuelle Erscheinung eines Controls (und ggf. dessen untergeordneten Controls) auf dem Bildschirm aktualisiert, wird mit Application.Processmessages die Botschaften-Warteschlange des Programms abgearbeitet.
Durch Änderung des Inhalts des Memos war hier ua eine Botschaft zum Neuzeichnen des Memos enthalten, die letztlich den selben Effekt hat, wie der direkte Aufruf von Update.
Neben diesen Botschaften, werden auch andere, wie solche, zum Bewegen des Fensters, verarbeitet, so dass Dein Fenster nicht "wie abgestürzt" wirkt (das wäre bei Update der Fall, wenn Du probierst, das Fenster während der Tonwidergabe zu verschieben).
Trotzdem birgt der Ansatz, alle Botschaften zu verarbeiten, Gefahren: Wenn Du während der Durchführung der Methode Button1Click erneut auf den Button klickst, wird sie erneut in einer zweiten Version ausgeführt und erst anschließend nach Application.Processmessages der ersten Version fortgefahren. Andere Randerscheinungen können auftreten, wenn man zwischenzeitlich auf das "X" des Fensters klickt oder Controls (zB Edit-Felder) verändert, deren Werte für die Berechnung innerhalb einer Methode ausschlaggebend sind.
gruß, choose
|