Announcement

Collapse
No announcement yet.

Timer

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Timer

    Hallöchen,
    Hab folgendes Problem. Unzwar brauch ich einen Timer.
    Eingestellt hab ich ihn folglich mit

    Code:
    #define TIMERPROG1
    SetTimer(this, TIMERPROG1, 1000, NULL);
    Dazu brauch ich die CALLBACK Funktion

    Code:
    void CALLBACK TimerProg1Proc(HWND hWnd, UINT uMsg, UINT idEvent, DWORD dwTime)
    {
      ShowWindow(NULL, SW_SHOWNA);
      return;
    }

    Ich erhalte folgende Fehlermeldung

    error C2059: syntax error : ','

    Könnt Ihr mir sagen wo der Fehler ist!?

  • #2
    Denke du hast das schon mit dem Timer gemacht??

    http://msdn.microsoft.com/en-us/library/ms644906.aspx

    Übrigens eine denkbar schlechte Lösung.....
    Christian

    Comment


    • #3
      Ne ich wills so machen. Aber scheitere an der Fehlermeldung.
      Was gibts den sonst noch für eine Lösung!?

      Comment


      • #4
        Was gibts den sonst noch für eine Lösung!?
        Besser du schauist nach Möglichkeiten, den Aufruf des Taskmanagers zu sperren. Das ist unter XP,Vista möglich. Ob unter CE??

        Ne ich wills so machen. Aber scheitere an der Fehlermeldung.
        Die Reihenfolge.....ist irgendwie anders...
        Zuletzt editiert von Christian Marquardt; 16.06.2008, 14:24.
        Christian

        Comment


        • #5
          So ist mein SetTimer in der Hilfe

          UINT SetTimer(
          HWND hWnd,
          UINT nIDEvent,
          UINT uElapse,
          TIMERPROC lpTimerFunc
          );

          Comment


          • #6
            Es ist doch zum heulen...

            UND WAS HAST DU??

            Fenster, lpTimerFunc,uElapse, nix
            Christian

            Comment


            • #7
              Also müsste es dann wiefolgt heißen

              SetTimer(this, NULL, 1000, TIMERPROG1);


              Kommt aber immer noch die Fehlermeldung. Nur jetzt so

              error C2059: syntax error : ')'

              Comment


              • #8
                Nächster Punkt:

                #define TIMERPROG
                Woher hast du das??

                Du sollst als letzten Parameter einen Zeiger auf die Funktion übergeben....

                Wie heisst deine Funktion. Sie heisst nicht TIMERPROG...so übergibst du ....nichts
                Christian

                Comment


                • #9
                  Das hab ich auf einer Seite, da stand man solle es so machen.
                  Also muss ich den Namen meiner Callback Funktion übergeben

                  SetTimer(this, NULL, 1000, TimerProg1Proc);


                  Versteh ich das jetzt richtig!?

                  Comment


                  • #10
                    fast.... nur noch nach TIMERPROC casten

                    SetTimer(this, NULL, 1000, (TIMERPROC) TimerProg1Proc);

                    Das hab ich auf einer Seite, da stand man solle es so machen.
                    Siehe obiger Link. Da ist ein dermaßen ausführliches Beispiel, da kann man gar nichts mehr falsch machen.

                    Dein erster Anlaufpunkt sollte die MSDN Hilfe sein....
                    Christian

                    Comment


                    • #11
                      Diese Fehlermledung kommt dann, wenn ich auf compile klicke.

                      error C2660: 'SetTimer' : function does not take 4 parameters

                      Ich habe die Funktion vor dem BOOL CPOG_MTDlg::OnInitDialog()



                      Dein erster Anlaufpunkt sollte die MSDN Hilfe sein....
                      Ich werde es mir ab jetzt zu Herzen nehmen.

                      Comment


                      • #12
                        Bei mir wird das korrekt compiliert & gelinkt.
                        Christian

                        Comment


                        • #13
                          Vermutlich könnte es sein, dass die Funktion von irgendeiner MFC Klasse als Member zur Verfügung gestellt wird (CWND?), dann könnte sie

                          SetTimer( NULL, 1000, (TIMERPROC) TimerProg1Proc);

                          so lauten, da CWND wohl sein eigenes Handle kennt
                          Christian

                          Comment


                          • #14
                            Und so sieht das bei dir auch aus!?

                            SetTimer(this, NULL, 1000, (TIMERPROC)TimerProg1Proc);

                            VOID CALLBACK TimerProg1Proc(HWND hWnd, UINT uMsg, UINT idEvent, DWORD dwTime)
                            {
                            ShowWindow(NULL, SW_SHOWNA);
                            return;
                            }

                            Comment


                            • #15
                              jooo, aber ich nutze die WIN API damit-> nicht die MFC -> siehe Beitrag 13
                              Christian

                              Comment

                              Working...
                              X