Registriert seit: 19. Jul 2005
10 Beiträge
|
Re: TWebbrowser + Application.ProcessMessages = Probleme?
11. Jun 2009, 08:28
Ich weiß nicht ob man mir unbedingt ein schlechtes Konzept unterstellen kann, ab einem bestimmten Komplexitätsgrad wird einfach ein vollkommen unübersichtlicher QuellCode geschaffen wenn man ständig aus einer Funktion hüpfen muss um sie nach Eintreten eines Ereignisses durch einen erneuten Aufruf wieder fortzusetzen, gerade wenn man mit Schleifen und Verzweigungen arbeitet.
Ich habe meine Funktion mit der von jaenicke vorgeschlagenen ersetzt um das Sleep zu vermeiden, leider tritt der selbe Effekt weiterhin auf wenn der Befehl Application.ProcessMessages ausgeführt wird.
Um zu prüfen was das Programm genau macht habe ich mir ein Log der Message-Abarbeitung der Anwendung ausgeben lassen, der von mir sogenannte Freeze ist streng genommen keiner, ankommende Messages werden weiter verarbeitet - allerdings mit einer ewigen Unterbrechnung von teilweise mehreren Minuten indem anscheinend die TWebBrowser-Komponente intern (?) irgendetwas macht. Die reine Abarbeitung des MessageQueues funktioniert gut. Application.ProcessMessages ist eben doch mehr als ein reiner Befehl zum Abarbeiten der anstehenden Messages. Nach einer Ewigkeit wird der ProcessMessages-Befehl dann tatsächlich auch beendet, das Ganze kann aber durchaus 10 Minuten und mehr dauern...
|