![]() |
AW: TTimer nicht Thread-safe
Mit TTimer geht es nunmal nicht im Thread, aber natürlich kann man
![]() * man muß nur ein Message-Windows im Thread erstellen und da drin einen Timer aktivieren * und man muß im Thread natürlich auch auch die Window-Messages verarbeiten, vor allem WM_TIMER |
AW: TTimer nicht Thread-safe
Zitat:
Den kann/moechte ich gar nicht komplett im Thread unterbringen, da dieser Ablauf noch an zig anderen Stellen im Code regulaer verwendet wird. Ich muesste den Timer ausserhalb eben nur aus dem Thread anstossen. Darf ich das mit .Queue? |
AW: TTimer nicht Thread-safe
![]() ![]() ![]() ![]() ![]() |
AW: TTimer nicht Thread-safe
Zitat:
Delphi-Quellcode:
einfach
Sleep
![]()
Delphi-Quellcode:
) verwendet. Das Event lässt man permanent auf nonsignaled, bis man von Windows die
TEvent
Delphi-Quellcode:
bzw.
WM_QUERYENDSESSION
Delphi-Quellcode:
Nachricht erhält. Sobald man das Event dann aktiviert, arbeiten alle Threads unmittelbar weiter, ohne auf das Timeout zu warten. Im Thread selbst sollte man dann noch die Rückgabe von
WM_ENDSESSION
Delphi-Quellcode:
prüfen, und die Bearbeitung entsprechend sofort einstellen, wenn nicht
WaitForSingleObject
Delphi-Quellcode:
zurückgegeben wurde.
WAIT_TIMEOUT
|
AW: TTimer nicht Thread-safe
Zitat:
|
AW: TTimer nicht Thread-safe
Zitat:
Delphi-Quellcode:
Methode überschrieben :thumb:
TerminatedSet
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:30 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