<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Eigenwilliger Timer]]></title><description><![CDATA[<p>Hallo zusammen !</p>
<p>Ich habe mal wieder ein Problem ! Ich setze in meiner Anwendung einen Timer<br />
mit einem 10 Sekunden Intervall :</p>
<pre><code class="language-cpp">SetTimer(NULL, lTimerID, TIMERINTERVAL, TimerProc);
</code></pre>
<p>Ich benötige diese Routine, um in regelmässigen Abständen bestimme Daten zu<br />
vergleichen. Leider beginnt der Timer nach ein paar Minuten sehr ungenau<br />
zu werden. Die Funktion TimerProc wird dann alle 7 Sekunden aufgerufen,<br />
dann alle 4, wieder 7 usw. Es ist aber wichtig, dass diese Funktion wirklich<br />
nur alle 10 Sekunden durchlaufen wird.</p>
<p>Warum wird der Timer nach ein paar Minuten so ungenau ?</p>
<p>Viele Grüße</p>
<p>SciFi</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/107310/eigenwilliger-timer</link><generator>RSS for Node</generator><lastBuildDate>Tue, 30 Jun 2026 00:59:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/107310.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 18 Apr 2005 14:34:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Eigenwilliger Timer on Mon, 18 Apr 2005 14:34:36 GMT]]></title><description><![CDATA[<p>Hallo zusammen !</p>
<p>Ich habe mal wieder ein Problem ! Ich setze in meiner Anwendung einen Timer<br />
mit einem 10 Sekunden Intervall :</p>
<pre><code class="language-cpp">SetTimer(NULL, lTimerID, TIMERINTERVAL, TimerProc);
</code></pre>
<p>Ich benötige diese Routine, um in regelmässigen Abständen bestimme Daten zu<br />
vergleichen. Leider beginnt der Timer nach ein paar Minuten sehr ungenau<br />
zu werden. Die Funktion TimerProc wird dann alle 7 Sekunden aufgerufen,<br />
dann alle 4, wieder 7 usw. Es ist aber wichtig, dass diese Funktion wirklich<br />
nur alle 10 Sekunden durchlaufen wird.</p>
<p>Warum wird der Timer nach ein paar Minuten so ungenau ?</p>
<p>Viele Grüße</p>
<p>SciFi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/769515</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/769515</guid><dc:creator><![CDATA[SciFi]]></dc:creator><pubDate>Mon, 18 Apr 2005 14:34:36 GMT</pubDate></item><item><title><![CDATA[Reply to Eigenwilliger Timer on Mon, 18 Apr 2005 15:57:03 GMT]]></title><description><![CDATA[<p>Die WM_TIMER Nachricht ist eine Low-Priority Nachricht, vermutlich sendet Windows einfach wichtigere Nachrichten wie WM_PAINT an dein Fenster, check das mal mit Spy++ oder so...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/769610</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/769610</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Mon, 18 Apr 2005 15:57:03 GMT</pubDate></item><item><title><![CDATA[Reply to Eigenwilliger Timer on Mon, 18 Apr 2005 16:45:03 GMT]]></title><description><![CDATA[<p>Hallo !</p>
<p>Erstmal vielen Dank für Deine Antwort. Ich habe den Fehler gefunden. *peinlich*. Also, ich nutze den Timer in einer DLL. Diese DLL wird von einer EXE Datei regelmässig ge-/und entladen. Ich habe also nun den Timer gesetzt :</p>
<pre><code class="language-cpp">SetTimer(NULL, lTimerID, TIMERINTERVAL, TimerProc);
</code></pre>
<p>Als die DLL wieder entladen wurde, habe ich den Timer wieder entladen.</p>
<pre><code class="language-cpp">KillTimer(NULL, lTimerID);
</code></pre>
<p>Nun, steht in der Online-Hilfe folgendes :<br />
<em>If the application calls SetTimer with hWnd set to NULL, this parameter must be the timer identifier returned by SetTimer.</em></p>
<p>Ich habe also den Timer nicht richtig entladen um somit wurden es immer mehr. Richtig wäre folgender Code :<br />
[cpp]<br />
//Timer laden<br />
<strong>UTimerID</strong> = SetTimer(NULL, lTimerID, TIMERINTERVAL, TimerProc);</p>
<p>//Timer entladen<br />
KillTimer(NULL, <strong>UTimerID</strong>);<br />
[/cpp]</p>
<p>Sorry, für meine Dummheit <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/769668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/769668</guid><dc:creator><![CDATA[SciFi]]></dc:creator><pubDate>Mon, 18 Apr 2005 16:45:03 GMT</pubDate></item><item><title><![CDATA[Reply to Eigenwilliger Timer on Mon, 18 Apr 2005 17:20:06 GMT]]></title><description><![CDATA[<p>Das liegt daran, dass wenn du kein Fenster-Handle angibst, dass dann nIDEvent (also dein lTimerID) ignoriert wird.</p>
<blockquote>
<p>If the hWnd parameter is NULL, this parameter is ignored.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/769705</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/769705</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Mon, 18 Apr 2005 17:20:06 GMT</pubDate></item></channel></rss>