![]() |
AW: TThread.Queue landet nicht in der Queue
Nur wie gesagt, ich bin da jetzt kein Spezialist für, aber je nachdem, wie "async"-verdorben man schon ist und wie oft man so etwas macht, wäre es vielleicht besser, sich einmal so einen Thread anzulegen, der dann dafür immer mittels Event aufgeweckt wird. Vielleicht noch den "Delay", wann es reingequeued wird, einstellbar machen :stupid:
Aber ganz ehrlich, ja, so mache ich das auch :wink:
Delphi-Quellcode:
habe ich mir noch nicht angeschaut. Gibt das vielleicht noch etwas tolles her?
Application.OnIdle
|
AW: TThread.Queue landet nicht in der Queue
Ja, der Code ist halt schön kurz/einfach.
Aber dafür wird das auch sehr selten, wenn überhaupt, aufgerufen. |
AW: TThread.Queue landet nicht in der Queue
Zitat:
Delphi-Quellcode:
verdient nochmal besondere Beachtung: Der Thread schläft und wartet auf das Event. Ruft man
TerminatedSet
Delphi-Quellcode:
auf passiert nichts, da er schläft. Das Setzen des Events weckt ihn auf und er merkt, dass seine Zeit gekommen ist.
meinThread.Terminate()
Delphi-Quellcode:
ist nicht virtuell, wohl aber die undokumentierte Methode
TThread.Terminate()
Delphi-Quellcode:
. Eigentlich ein Musterbeispiel (für TThread und für fehlende Doku an sich 8-))
TerminatedSet()
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:51 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-2025 by Thomas Breitkreuz