Dieser Code stellt eine VB Implementierung des hoch präzisen Multimedia Timers der winmm.dll dar.
Ich habe diese Implementierung aus dem gleichen Grund wie die Multiple Undos Class geschrieben: Ich wollte eine saubere Lösung, die sehr einfach in bestehende VB Projekte eingefügt werden kann, ohne dessen Programmcode zu verunstalten und die nicht dazu führt, daß meine VB Projekte von weiteren OCX Dateien oder DLLs abhängen. Ausserdem sollte sie so weit wie möglich objektorientiert sein.
Das in der Downloaddatei enthaltene Beispielprojekt dient nicht dazu, zu beweisen, daß der Multimedia Timer genauer ist als der Standard VB Timer. Die Aufgabe des Projekts besteht nur darin, zu demonstrieren, wie der Timer verwendet wird und wie man mehrere Timerobjekten gleichzeitig verwaltet.
Neues in dieser Version:
- ~ Timer von einer Klasse in ein Usercontrol umgewandelt. Er arbeitet jetzt ähnlich dem Standard VB Timer.
- – Sollte in kompilierten EXE Dateien nicht mehr zum Crash führen.
- ~ Einige Methoden und Eigenschaften geädert.
- + Event Unterstützung hinzugefügt.
SourceCode @ github.com
Ich habe den Timer im Internet (PSC) gefunden und in meinem Programm zur Darstellung von Bildsequenzen testweise eingebaut. Er arbeitet soweit zufriedenstellend, jedoch wenn ich auf das in meinem Formular vorhandene Menue klicke, ertönt im Takt des Timers ein Beep aus dem Lautsprecher und der Sequenzablauf steht solange bis ich die Menubedienung beende, den ich mir nicht erklären konnte. Ich habe dann ein leere Menueposition mit einem Untermenuepunkt in obige Demo eingebaut und das Verhalten war das gleiche. Dass ein Click auf einen Menuepunkt möglicherweise die laufende Anwendung blockiert, ist mir bekannt, aber den auftretenden Beep des Timers kann ich mir nicht erklären.
Haben Sie eine Idee, wo der herkommen könnte oder wie ich ihn unterbinden könnte ?
Es besteht leider keine Möglichkeit eines Anhanges, sonst hätte ich den geänderten Sourcecode mitgeschickt.