2012-12-27 39 views
5

Tôi đang gặp phải a problem với API SetTimer.Bộ hẹn giờ trong Windows

Chỉ vì tò mò, các tùy chọn khác của tôi ở Delphi là gì?

  • Multimedia Timers
  • TTimer nhưng nó chỉ là một wrapper quanh SetTimer/KillTimer
+2

http://www.codeproject.com/Articles/1236/Timers-Tutorial#QueueTimers Tất cả được mô tả ở đây. Tôi hơi lưỡng lự khi sử dụng các bộ hẹn giờ đa phương tiện, nhưng chúng vẫn hoạt động tốt trong Windows 8. Dù bằng cách nào, Bộ định giờ xếp hàng hoặc Bộ hẹn giờ đa phương tiện, sẽ cho kết quả tốt hơn nhiều. – AudioGL

+0

Đăng câu trả lời này làm ơn :) – ELCouz

+1

Bạn có thể xem [TJvThreadTimer] (http://wiki.delphi-jedi.org/wiki/JVCL_Help:TJvThreadTimer). Bộ hẹn giờ có độ phân giải cao hoạt động trên một chuỗi nội bộ thay vì dựa vào các cửa sổ api. Có thể được sử dụng mà không cần xử lý cửa sổ. –

Trả lời

5

codeproject.com/Articles/1236/Timers-Tutorial#QueueTimers Tất cả được mô tả ở đây. Tôi hơi lưỡng lự khi sử dụng các bộ hẹn giờ đa phương tiện, nhưng chúng vẫn hoạt động tốt trong Windows 8. Dù bằng cách nào, Bộ định giờ xếp hàng hoặc Bộ hẹn giờ đa phương tiện, sẽ cho kết quả tốt hơn nhiều.

3

Khi bạn cần phải làm việc theo một thời gian nhất định, bạn cũng nên được yêu cầu nếu bạn cần phải làm như làm việc trong chủ đề. Có một sự khác biệt lớn giữa việc xử lý các sự kiện hẹn giờ và tắt tải hoạt động từ chuỗi chính thành các chuỗi riêng biệt, cả cách thiết lập và cách thực hiện (xem xét ngày càng nhiều phần cứng có bộ xử lý đa lõi).

Cách cơ bản nhất để làm điều này là kế thừa từ TThread, nhưng nó không phải là thẳng về phía trước. (Xem 'Chủ đề' trong hộp thoại Dự án Mới, hoặc the documentation) Ngoài ra còn có một số threading platforms for Delphi.

Các vấn đề liên quan