Multimedia-Timer will nicht laufen



  • Hallo miteinander

    Ich habe ein kleines Problem mit dem Multimedia-Timern.
    Aus diversen Quellen habe ich mir bis jetzt diesen Code-Teil zusammengeschrieben:

    UINT m_elTime = 100;
    UINT m_idEvent = 0;
    DWORD m_uResolution = 0;
    
    	private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
    				// Set resolution to the minimum supported by the system
    				TIMECAPS tc;
    				timeGetDevCaps(&tc, sizeof(TIMECAPS));
    				m_uResolution = min(max(tc.wPeriodMin, 0), tc.wPeriodMax);
    				timeBeginPeriod(m_uResolution);
    
    				// create the timer
    				m_idEvent = timeSetEvent(m_elTime, m_uResolution, TimerFunction, this, TIME_PERIODIC);
    
    			 }
    	private: System::Void Form1_FormClosing(System::Object^  sender, System::Windows::Forms::FormClosingEventArgs^  e) {
    				// destroy the timer
    				timeKillEvent(m_idEvent);
    
    				// reset the timer
    				timeEndPeriod (m_uResolution);
    			}
    
    void CALLBACK TimerFunction(UINT wTimerID, UINT msg, DWORD dwUser, DWORD dw1, DWORD dw2)
        {
        // This is used only to call MMTimerHandler
    
        // Typically, this function is static member of CTimersDlg
    
        Form1^ obj = (Form1^) dwUser;
        obj->MMTimerHandler(wTimerID);
        } 
    void Form1::MMTimerHandler(UINT nIDEvent) // called every elTime milliseconds
    {
    // do what you want to do, but quickly
    }
    

    Nur gibt mir der Compiler folgende Fehlermeldungen aus, wobei ich absolut keine Ahnung habe, wie ich diese beheben könnte, da ich genau diesen Code mitlerweile hier im Forum und auch in einem Timer-Tutorial gefunden habe.

    1>i:\source_code\control\Form1.h(957) : warning C4441: Die Aufrufkonvention von "__stdcall " wird ignoriert; stattdessen wird "__clrcall " verwendet.
    1>i:\source_code\control\Form1.h(950) : error C3867: "LaserControl::Form1::TimerFunction": Dem Funktionsaufruf fehlt die Argumentliste. Verwenden Sie "&Control::Form1::TimerFunction", um einen Zeiger auf den Member zu erstellen.
    1>i:\source_code\ control\Form1.h(962) : warning C4669: 'Typumwandlung': Unsichere Konvertierung: 'Control::Form1' ist ein Objekt mit verwaltetem Typ
    1>i:\source_code\control\Form1.h(962) : error C2440: 'Typumwandlung': 'DWORD' kann nicht in 'Control::Form1 ^' konvertiert werden
    1> Es ist kein benutzerdefinierter Konvertierungsoperator verfügbar, oder
    1> Es ist keine Standardkonvertierung von der mittels Boxing geschachtelten Form des arithmetischen Typs in den Zieltyp vorhanden.
    1>Das Buildprotokoll wurde unter "file://i:\source_code\ Control\Debug\BuildLog.htm" gespeichert.
    1>Laser Control - 2 Fehler, 2 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

    Besten Dank für die Hilfe
    MFG
    P51D



  • Dieser Thread wurde von Moderator/in Martin Richter aus dem Forum WinAPI in das Forum C++/CLI mit .NET verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.




Anmelden zum Antworten