![]() |
D2010, TMediaPlayer, Application.OnIdle wird nicht ausgeführt
Hallo #,
wie oben beschrieben. Lasse ich den TMediaPlayer laufen, wird Application.OnIdle nicht angesprungen. Erst, wenn er mit der Datei fertig ist. OK, die App ist nicht Idle ... Kann der TMediaPlayer vielleicht gar kein asynchrones Abspielen ? Weiss jemand was darüber ? Danke Heiko |
AW: D2010, TMediaPlayer, Application.OnIdle wird nicht ausgeführt
OnIdle wird, wie es übrigens in der OH erwähnt wird, nur aufgerufen, wenn keine Nachrichten/Messages mehr in der Nachrichtenschleife vorhanden sind.
Der TMediaplayer wird wohl einfach ständig irgendwelche Messages rumschicken und schon gibt es kein OnIdle mehr. :stupid: PS: Wenn die App auf Eingaben reagiert oder einen Timer auslöst, dann wird der TMediaplayer wohl doch asynchrones arbeiten. |
AW: D2010, TMediaPlayer, Application.OnIdle wird nicht ausgeführt
Hallo,
ich habe das jetzt etwas genauer.
Delphi-Quellcode:
Der Code läuft ohne Unterbrechung durch.
Player.Open;
Player.Play; OnIdle wird aber für 8 Sekunden nicht aufgerufen. Das ist genau die Zeit, die er für das Abspielen braucht. ??? Hilfe .. ;) Heiko |
AW: D2010, TMediaPlayer, Application.OnIdle wird nicht ausgeführt
Application.OnIdle war eigentlich nie ein erstzunehmendes Event.
Der Zeitpunkt zu dem das Event aufgerufen wird ist völlig unvorhersehbar und der Eventhandler darf nur sehr kurzdauernde Aktionen ausführen. Würde man in OnIdle länger dauernde Aufgaben (>=1s) ausführen, dann würde die Anwendung sehr schlecht reagieren. OnIdle gibt es nicht deshalb weil man das Event unbedingt braucht, sondern eher weil ein VCL-Programmierer gedacht hat: es wäre doch ganz witzig ein Event für den Fall zu haben, dass die Anwendung gerade nix zu tun hat. |
AW: D2010, TMediaPlayer, Application.OnIdle wird nicht ausgeführt
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:37 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