<?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[Timer]]></title><description><![CDATA[<p>Hi!</p>
<p>Ich möchte ein Programm mit timern schreiben. Der Timer soll jede Sekunde auslösen und eine Funktion (immer wieder die selbe) aufrufen. Wenn zum Zeitpunkt des neuen Auslösensdie alte Funktion noch läuft soll sie nicht erneut aufgerufen werden, sondern eine zweite Funktion.</p>
<p>Mein Problem fängt leider schon ganz am Anfang an: Ich möchte mit SetTimer den Timer starten, Mein Compiler (VC++) meckert aber direkt:</p>
<p>SetTimer(1,3,NULL);<br />
Fehlermeldung: error C2660: 'SetTimer' : Funktion akzeptiert keine 3 Parameter</p>
<p>Problem danach: Wie reagiert man/das programm, wenn der Timer &quot;auslöst&quot;, also zu Ende ist?</p>
<p>Vielen Dank an alle, die mir helfen!<br />
Eure Laura</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/179547/timer</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Jul 2026 16:54:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/179547.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 23 Apr 2007 07:15:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Timer on Mon, 23 Apr 2007 07:15:13 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Ich möchte ein Programm mit timern schreiben. Der Timer soll jede Sekunde auslösen und eine Funktion (immer wieder die selbe) aufrufen. Wenn zum Zeitpunkt des neuen Auslösensdie alte Funktion noch läuft soll sie nicht erneut aufgerufen werden, sondern eine zweite Funktion.</p>
<p>Mein Problem fängt leider schon ganz am Anfang an: Ich möchte mit SetTimer den Timer starten, Mein Compiler (VC++) meckert aber direkt:</p>
<p>SetTimer(1,3,NULL);<br />
Fehlermeldung: error C2660: 'SetTimer' : Funktion akzeptiert keine 3 Parameter</p>
<p>Problem danach: Wie reagiert man/das programm, wenn der Timer &quot;auslöst&quot;, also zu Ende ist?</p>
<p>Vielen Dank an alle, die mir helfen!<br />
Eure Laura</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1271495</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1271495</guid><dc:creator><![CDATA[Laura2]]></dc:creator><pubDate>Mon, 23 Apr 2007 07:15:13 GMT</pubDate></item><item><title><![CDATA[Reply to Timer on Mon, 23 Apr 2007 07:27:47 GMT]]></title><description><![CDATA[<p>Erstens: ANSI-C++ kennt keine Timer.</p>
<p>Zweitens: Für die globale SetTimer()-Funktion fehlt als erster Parameter noch das Handle deines Hauptfensters, die gleichnamige Methode ist nur im Inneren von CWnd-Objekten (oder -Kindern) verfügbar.</p>
<p>Drittens: Die Nachrichtenbehandlung (und damit auch der nächste Timer-Aufruf) kann erst weitergehen, wenn die Timer-Funktion fertig ist. Das bedeutet, wenn du die Funktion direkt in der OnTimer()-Auswertung aufrufst und sie länger als dein Intervall läuft, fällt der nächste Zyklus unter den Tisch. Die Lösung dazu nennt sich Threads - die laufen parallel zum Hauptprogramm und die kannst du auch (per WaitForSingleObject()) überprüfen, ob sie noch laufen:</p>
<pre><code class="language-cpp">void OnTimer(UINT id)
{
  if(m_hTimerThread==NULL || WaitForSingleObject(m_hTimerThread,0)!=WAIT_TIMEOUT)
  //noch nie gestartet oder letzter Aufruf ordnungsgemäß beendet
    m_hTimerThread = AfxBeginThread(Funktion1,NULL);
  else
    Funktion2();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1271503</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1271503</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 23 Apr 2007 07:27:47 GMT</pubDate></item><item><title><![CDATA[Reply to Timer on Mon, 23 Apr 2007 08:23:24 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-403.html" rel="nofollow">HumeSikkins</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-15.html" rel="nofollow">C++</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-4.html" rel="nofollow">WinAPI</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1271533</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1271533</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Mon, 23 Apr 2007 08:23:24 GMT</pubDate></item></channel></rss>