2012-12-27 36 views
5

मैं SetTimer API के साथ a problem अनुभव कर रहा हूं।विंडोज़ में टाइमर

सिर्फ जिज्ञासा के लिए, डेल्फी में मेरे अन्य विकल्प क्या हैं?

  • Multimedia Timers
  • TTimer नहीं है, लेकिन यह चारों ओर SetTimer/KillTimer
+2

http://www.codeproject.com/Articles/1236/Timers-Tutorial#QueueTimers सभी यहां वर्णित हैं। मैं मल्टीमीडिया टाइमर का उपयोग करने में थोड़ा संकोच करता हूं, लेकिन वे अभी भी विंडोज 8 के तहत अच्छा प्रदर्शन करते हैं। किसी भी तरह से, कतार टाइमर, या मल्टीमीडिया टाइमर, बेहतर परिणाम देने जा रहे हैं। – AudioGL

+0

इसे उत्तर के रूप में पोस्ट करें :) – ELCouz

+1

आप [TJvThreadTimer] (http://wiki.delphi-jedi.org/wiki/JVCL_Help:TJvThreadTimer) देख सकते हैं। एक उच्च रिज़ॉल्यूशन टाइमर जो विंडोज एपीआई पर निर्भर होने के बजाय आंतरिक धागे पर काम करता है। विंडोज़ हैंडल के बिना इस्तेमाल किया जा सकता है। –

उत्तर

5

codeproject.com/Articles/1236/Timers-Tutorial#QueueTimers सभी यहां वर्णित हैं। मैं मल्टीमीडिया टाइमर का उपयोग करने में थोड़ा संकोच करता हूं, लेकिन वे अभी भी विंडोज 8 के तहत अच्छा प्रदर्शन करते हैं। किसी भी तरह से, कतार टाइमर, या मल्टीमीडिया टाइमर, बेहतर परिणाम देने जा रहे हैं।

3

जब आप एक निश्चित समय के अनुसार काम करने की जरूरत है, तो आप भी अगर तुम क्या करने की जरूरत पूछ किया जाना चाहिए सिर्फ एक आवरण है धागे में काम करते हैं। टाइमर इवेंट्स को संभालने और ऑफ-लोडिंग मुख्य थ्रेड से अलग थ्रेड में काम करने के तरीके के बीच और यह कैसे काम करेगा (अधिक से अधिक हार्डवेयर पर बहु-कोर प्रोसेसर) पर काम करने के बीच एक बड़ा अंतर है।

ऐसा करने का सबसे बुनियादी तरीका टीटीएचड से प्राप्त है, लेकिन यह सीधे आगे नहीं है। (प्रोजेक्ट में 'थ्रेड' देखें नया संवाद, या the documentation) threading platforms for Delphi भी कई हैं।

3

मैं लिखा है queue timer wrapper as a Delphi component परियोजना बंद है, लेकिन आप TksTimer कोड लेने के लिए या ksTools पैकेज स्थापित कर सकते हैं।