Multimedia Timer verwenden
-
ich brauche einen Timer der nach einer einstellbaren Zeit ein Ereignis auslöst. Mir wurde empfohlen einen sog. Multimedia Timer zu verwenden, der genauer sein soll als der im Borland integrierte TTimer. Aus der Hilfe in "http://msdn.microsoft.com/en-us/library/dd743609(VS.85).aspx" werd ich leider nicht schlau. Vll kann mir jmd sagen wie ich den Multimedia-Timer verwende.
-
Timer und Windows ist so ein Problemfall. In unseren Messprogrammen haben wir zum Glück 100ms Zeitinvervalle, etwas womit Windows noch klar kommt. Aber selbst da wackelt es mal zu 103 oder auch mal 110ms. Genauer bekommt man es nicht hin, egal welche Timer oder eigene Threads man verwendet, so um die 10ms ist die Grenze, nach unseren Erfahrungen.
Der TMMTimer von http://www.delphipages.com/records.cfm?kw=insert+countdown+timer ist ganz brauchbar. Er basiert auf dem Multimediatimer. Die Komponente kann man auch im BCB installieren.
MfG
-
vielen Dank. Werd ich gleich mal ausprobieren. Handelt es sich dabei um eine Komponente, die ich wie den normalen Timer einfach auf das Formular setzen kann?
-
Ja, er hat sogar das gleiche Icon.
MfG
-
hab mal die zip-Datei heruntergeladen. Leider musste ich dann feststellen, das der TMMTimer nur für Delphi ist. Ich verwende den Borland Builder 5.
-
Hallo,
wie ich bereits sagte, kannst du den TMMTimer auch in BCB5 installieren.
Du gehst folgendermassen vor:
- Menüpunkt "Komponente"->Komponente installieren
- Wechseln auf den Reiter "In neues Package installieren"
- bei Name der Unit die -pas Datei des Timers auswählen
- Name für das Package vergeben, z.B. "TMMTimer.bpk" (in den gleichen Pfad wie pas-Datei)
- dann Kompilieren und installieren.
Voila es ist fertig. Mit den Voreinstellungen taucht die Komponente dann unter "Samples" im Komponentenreiter auf. Einfach auf Formular ziehen und fertig!
Der Vorteil wenn du es in ein neues Package erstellst liegt darin, dass du die Komponente später, z.B. nach Neuinstallation bequem per Doppelklick installieren kannst.
Das ganze würde ich einem eigenen Thread vorziehen, denn der birgt nur unnötig Gefahrenquellen und bringt wie eingangs gesagt nicht viel, nach meiner Erfahrung. Performanctechnisch und von der Genauigkeit her nicht besser als die Timer-Komponente.
MfG
-
Wenn du im Internet recherchierst, wirst du feststellen, dass PC insbesondere mit Windows Timer-Probleme haben. Die Ursache liegt einfach in der PC-Architektur, die keine genug hochauflösenden Timer haben. Den Rest besorgt dann Windows in seiner Weiterverarbeitung. Es soll angeblich möglich sein 1 ms Timergenauigkeit zu bekommen, was de facto im Realen Leben um ein Paar ms wobblet.
MfG