low-level timer mit restart und callback

  • low-level timer mit restart und callback

    hi,

    ich frage mich wie man im unmanaged c++ einen anständigen timer programmiert? (windows ab 2000) also keine schleifen oder sonstwas.

    ich möchte kein mfc oder ähnliches includen. es ist einfach eine dll in der ich einen low-level timer mit restart-funktion und einer callbackfunnktion implementieren möchte. bis jetzt habe ich immer nur etwas gefunden wie multimedia-timer oder die timerqueue. aber irgendetwas passt mir da nie richtig (kein restart oder auf windowsmessages basis)

    gibt es nicht gescheite libs oder so? habe noch nichts gefunden.
    Gruß
    Steff
    ___

    Der Optimist sieht in jedem Problem eine Aufgabe.
    Der Pessimist sieht in jeder Aufgabe ein Problem.

    http://autoexport.sunbird-kalender.de
  • Ist das denn zu nem Problem geworden?
    Ich würde es damit probieren.
    Mit QueryPerformanceCounter&Callback kommst du um nen (selbstverwalteteten) Thread nicht drumrum.
    Da sehe ich wesentlich mehr "Aufrufaufwand".

    Gruß void
    "Probleme kann man niemals mit derselben Denkweise lösen,
    durch die sie entstanden sind." (A. Einstein)
  • Da wir gerade bei dem Thema sind werfe ich auch gerade etwas in die Runde:

    Bin gerade an einem Counter dran, der auf Zehntelsekunden genau ist.
    Um das zu realisieren habe ich einen Timer zur Hilfe genommen (eingefügt per Visual Designer). Den Interval ist auch darauf abgestimmt.

    Nun meine Frage:
    Wie spreche ich den Timer an, dass er bei jedem "Tick" etwas Bestimmtes tun soll?
    Also wie ich ihn starte ist mir klar, aber ich bekomme es einfach nicht hin ihn anzusprechen.
    Ich habe es mittlerweile mit einer for-Schleife probiert und mit dem Member "On_Tick" und da "->Tick" gar nicht erst gefunden wird bin ich ratlos.

    Gruss jott
  • Da der Timer eine MFC Komponente zu sein scheint (sorry habe eigentlich keine Ahnung von MFC), müsste er ein Event auslösen bei jedem Tick. Da brauchst du nicht selber nachschauen obs einen Tick gab (mit einer Schleife oder soetwas), sondern dich einfach nur in seinem Event einklinken.

    Musst aufpassen dass der Code bei einem Tick nicht zum umfangreich wird, denn sonst kannst du Timing-Probleme bekommen - Windows ist kein Echtzeitbetriebssystem.
    ~ mfg SeBa

    Ich beantworte keine PMs zu Computer-/Programmierproblemen. Bitte wendet euch an das entsprechende Forum.

    [Blockierte Grafik: http://i.creativecommons.org/l/by-sa/3.0/80x15.png]