Timer



  • hi,

    ich habe mir mit folgenten code in mein programm eingefügt um nen timer zu machen der alle paar sekunden eine aktion ausführ nun zeigt er mir imer an an das die funktion OnTimer nicht lokal aufgerufen werden kann. Kann mir wer sagen was ich vergessen habe zu machen?

    SetTimer(ID_TIMER, 2000, NULL); // Timer wird nach 2 Sek ausgelöst

    void CLoginView::OnTimer(UINT nIDEvent)
    {
    if (nIDEvent == ID_TIMER)
    {
    // Aktion ausführen

    }
    }



  • Hallo,

    😕 bitte genaue Fehlermeldung wortwörtlich angeben...

    MfG



  • die genaue fehlermeldung ist : Lokale Funktionsdefinition sind unzulässig



  • Dann hast du irgendwo ein } vergessen.



  • nee daran liegt es nicht.
    kann es sein das ich die funktion an der falschen stelle eingesetzt habe???
    habe sie in die CLoginView::~CLoginView() geschrieben glaube aber das dies irgentwie falsch ist. habe leider nicht so viel ahnung von c++.



  • die ganze Timer-Funktion gehört natürlich in die .cpp-Datei, dort wo alle anderen Funktionen von CLoginView definiert sind.

    MfG



  • ja na sicher soweit blicke ich da auch durch.

    also habe diese timer funktion nun auf einen butten gelegt sobald dieser gedrückt wir soll er das ding starten aber bei mir steht dann folgenter fehler: error C2601: 'OnTimer' : Lokale Funktionsdefinitionen sind unzulaessig

    also stimmt doch irgentwas mit den OnTimer ding nicht muss ich vieleicht noch irgentwelche klassen einfügen damit er das ausführt?



  • Nein musst du nicht.

    Lösche die Zeilen wieder und füge die Timerfunktion mit dem Assi ein.
    Wenn er dann geht kannst du vergleichen was bei dir falsch war.

    So wie du das schreibst hast du Funktion in den Destructor geschrieben.
    Dh eine Funktion in einer Funktion. Das geht so nicht. Sagt somit ja auch die Fehlermeldung das ein Lokale funktionsdefnition nicht zulässig ist. Lokale Variablen sind zulässig aber nicht Funktionen.


Anmelden zum Antworten