Timer ohne GUI



  • Hallo zusammen

    In meinem aktuellen Projekt gibt es eine Klasse, die eine Verbindung kontrolliert und steuert. Diese soll auftretende TimeOuts erkennen und entsprechend reagieren.

    Nun habe ich das Problem, dass ich keine Timer in dieser Klasse hinbekomme. Zwar kann ich über SetTimer einen erstellen und diesem eine Funktion mitgeben, aber diese wird nie gestartet.

    Nun habe ich verschiedene Beispiele gefunden und ein wenig herumprobiert, aber irgendwie klappt es nur, wenn die Klasse ein Fenster ist. Das dürfte daran liegen, dass Windowsnachrichten nur an grafische Elemente weitergeleitet werden (wenn ich das richtig verstanden habe.).

    Es macht aber in meinem Projekt keinen Sinn, dass die kontrollierende Klasse nun ein grafisches Element wird, nur damit sie einen Timer nutzen kann. Als einzige Lösung fällt mir momentan nur ein, dem Hauptfenster einen Timer zu geben und die kontrollierende Klassen steuert diesen über verschiedene Methoden.

    Das wäre aber ein unlogisches Vorgehen. Daher hoffe ich, dass ich hier jemanden finde, der mir dazu einen Tipp geben kann. Ansich sollte es ja kein so seltenes Problem sein, aber ich finde dazu nichts.



  • Hilfsthread mit "Waitable Timer Objects". Die Threadsynchronisation ist aber nicht trivial und vermutlich aufwendiger als der von Dir vorgeschlagene Workaround.



  • Danke für den Hinweis. Auf die Idee bin ich zwar auch schon gekommen, aber wie du schon selbst schreibst, dürfte der Overhead dafür größer sein als die "Notlösung".



  • ➡ timeSetEvent



  • CodeFinder schrieb:

    ➡ timeSetEvent

    Hat das gleiche Problem wie Waitable Timers: asynchrone Callback-Funktion.



  • _mgs schrieb:

    CodeFinder schrieb:

    ➡ timeSetEvent

    Hat das gleiche Problem wie Waitable Timers: asynchrone Callback-Funktion.

    Hm jo stimmt scho...aber dann mussa eben synchronisieren :p .


Anmelden zum Antworten