Przeżyłem a problem z interfejsem SetTimer API.Czasomierze w systemie Windows
Tylko dla ciekawości, jakie są moje inne opcje w Delphi?
- Istnieje Multimedia Timers
TTimer
ale to tylko otoki wokół SetTimer/KillTimer
Przeżyłem a problem z interfejsem SetTimer API.Czasomierze w systemie Windows
Tylko dla ciekawości, jakie są moje inne opcje w Delphi?
TTimer
ale to tylko otoki wokół SetTimer/KillTimercodeproject.com/Articles/1236/Timers-Tutorial#QueueTimers Wszystkie są opisane tutaj. Trochę się waham, czy korzystać z minutników multimedialnych, ale nadal działają one dobrze pod Windows 8. Tak czy inaczej, zegary kolejkowania lub zegary multimedialne zapewnią znacznie lepsze wyniki.
Kiedy trzeba wykonać pracę według określonego harmonogramu, należy również zapytać, czy trzeba wykonać działa w wątkach. Istnieje ogromna różnica między obsługą zdarzeń licznika a pracą odczytywania z głównego wątku na osobne wątki, zarówno w sposobie ustawiania, jak i sposobu działania (biorąc pod uwagę, że coraz więcej sprzętu ma procesory wielordzeniowe).
Najbardziej podstawowym sposobem na to jest dziedziczenie z TThread, ale nie jest to tak proste. (Zobacz "Wątek" w oknie dialogowym Nowy projekt lub the documentation) Istnieje również liczba threading platforms for Delphi.
Pisałem queue timer wrapper as a Delphi component Projekt zostanie przerwane, ale można wziąć kod TksTimer
lub zainstalować ksTools
pakietu.
http://www.codeproject.com/Articles/1236/Timers-Tutorial#QueueTimers Wszystkie zostały opisane tutaj. Trochę się waham, czy korzystać z minutników multimedialnych, ale nadal działają one dobrze pod Windows 8. Tak czy inaczej, zegary kolejkowania lub zegary multimedialne zapewnią znacznie lepsze wyniki. – AudioGL
Opublikuj jako odpowiedź proszę :) – ELCouz
Możesz spojrzeć na [TJvThreadTimer] (http://wiki.delphi-jedi.org/wiki/JVCL_Help:TJvThreadTimer). Czasomierz wysokiej rozdzielczości, który działa na wątku wewnętrznym zamiast polegać na api okna. Może być używany bez uchwytu okna. –