<?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[While Schleife blockiert Anwendung]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Problem.<br />
Ich muss in einer Funktion eine externe Funktion einer Dll pollen.</p>
<p>Im Prinzip habe ich einen Button, der den Pollvorgang startet und ein Flag setzt:</p>
<pre><code>void CMyDialog::OnStart() 
{
  bStarted = true;
  while(bStarted)
  {
    //hier wird die Dll-Funktion aufgerufen
  }	  

}
</code></pre>
<p>Nun soll über einen zweiten Button das Flag umgesetzt werden, so daß der Pollvorgang abgebrochen wird.</p>
<p>Nur hängt das Programm in der while-Schleife....</p>
<p>Unter Borland würde das Ganze mit einem einfachen Application-&gt;ProcessMessages() funktionieren, nur muss ich mit VC++ arbeiten, und hab da noch nicht wirklich den Durchblick.</p>
<p>Vielen Dank</p>
<p>mfg</p>
<p>Rene</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/211828/while-schleife-blockiert-anwendung</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Apr 2026 02:03:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/211828.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 28 Apr 2008 09:43:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to While Schleife blockiert Anwendung on Mon, 28 Apr 2008 09:43:55 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Problem.<br />
Ich muss in einer Funktion eine externe Funktion einer Dll pollen.</p>
<p>Im Prinzip habe ich einen Button, der den Pollvorgang startet und ein Flag setzt:</p>
<pre><code>void CMyDialog::OnStart() 
{
  bStarted = true;
  while(bStarted)
  {
    //hier wird die Dll-Funktion aufgerufen
  }	  

}
</code></pre>
<p>Nun soll über einen zweiten Button das Flag umgesetzt werden, so daß der Pollvorgang abgebrochen wird.</p>
<p>Nur hängt das Programm in der while-Schleife....</p>
<p>Unter Borland würde das Ganze mit einem einfachen Application-&gt;ProcessMessages() funktionieren, nur muss ich mit VC++ arbeiten, und hab da noch nicht wirklich den Durchblick.</p>
<p>Vielen Dank</p>
<p>mfg</p>
<p>Rene</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1499476</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1499476</guid><dc:creator><![CDATA[Rene M]]></dc:creator><pubDate>Mon, 28 Apr 2008 09:43:55 GMT</pubDate></item><item><title><![CDATA[Reply to While Schleife blockiert Anwendung on Mon, 28 Apr 2008 09:48:47 GMT]]></title><description><![CDATA[<p><a href="http://www.mpdvc.de/html.htm#Q75" rel="nofollow">http://www.mpdvc.de/html.htm#Q75</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1499483</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1499483</guid><dc:creator><![CDATA[Q75]]></dc:creator><pubDate>Mon, 28 Apr 2008 09:48:47 GMT</pubDate></item><item><title><![CDATA[Reply to While Schleife blockiert Anwendung on Mon, 28 Apr 2008 09:58:40 GMT]]></title><description><![CDATA[<p>Aber Achtung! Das macht Deine Applikation Reentrant.</p>
<p>Evtl. solltest Du diesen Vorgang in einen eigenen Thread auslagern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1499490</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1499490</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 28 Apr 2008 09:58:40 GMT</pubDate></item><item><title><![CDATA[Reply to While Schleife blockiert Anwendung on Mon, 28 Apr 2008 18:04:28 GMT]]></title><description><![CDATA[<p>Eine While-Schleife sollte man nicht von einer Tätigkeit des Benutzers abhängig machen, sondern stets selbst kontrollieren. Der normale Weg der Windows-Programmierung geht immer über Nachrichten, entweder System-Nachrichten oder benutzerdefinierte Nachrichten. Borland oder Microsoft ist eigentlich egal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1499910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1499910</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Mon, 28 Apr 2008 18:04:28 GMT</pubDate></item><item><title><![CDATA[Reply to While Schleife blockiert Anwendung on Mon, 28 Apr 2008 19:34:29 GMT]]></title><description><![CDATA[<p>Du könntest dir doch einfach alle paar Millisekunden eine WM_TIMER schicken lassen. Wenn ein Polling-Intervall von sagen wir mal 50ms OK ist ginge das gut - wenn du natürlich schneller pollen willst ... ist das weniger gut.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1500005</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1500005</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 28 Apr 2008 19:34:29 GMT</pubDate></item><item><title><![CDATA[Reply to While Schleife blockiert Anwendung on Tue, 29 Apr 2008 05:58:06 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Du könntest dir doch einfach alle paar Millisekunden eine WM_TIMER schicken lassen. Wenn ein Polling-Intervall von sagen wir mal 50ms OK ist ginge das gut - wenn du natürlich schneller pollen willst ... ist das weniger gut.</p>
</blockquote>
<p>Geht aber nur, wenn er wieder eine Messageloop hat, die er aber ja gerade nicht hat <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1500177</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1500177</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 29 Apr 2008 05:58:06 GMT</pubDate></item><item><title><![CDATA[Reply to While Schleife blockiert Anwendung on Tue, 29 Apr 2008 16:09:15 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>hustbaer schrieb:</p>
<blockquote>
<p>Du könntest dir doch einfach alle paar Millisekunden eine WM_TIMER schicken lassen. Wenn ein Polling-Intervall von sagen wir mal 50ms OK ist ginge das gut - wenn du natürlich schneller pollen willst ... ist das weniger gut.</p>
</blockquote>
<p>Geht aber nur, wenn er wieder eine Messageloop hat, die er aber ja gerade nicht hat <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Ich meine er soll statt der while Schleife eine WM_TIMER schicken lassen, nen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1500669</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1500669</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 29 Apr 2008 16:09:15 GMT</pubDate></item><item><title><![CDATA[Reply to While Schleife blockiert Anwendung on Tue, 29 Apr 2008 16:32:36 GMT]]></title><description><![CDATA[<p>Starte einen Thread zur Button Überwachung und leg ihm mit Sleep immer ca 500ms schlafen, so daß er den DLL-Thread nicht sonderlich behindert. In diesem Thread setzt dein Button eine globale Variable die du im anderen Thread in deine while schleife abfragen kannst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1500685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1500685</guid><dc:creator><![CDATA[guggst hier kollege]]></dc:creator><pubDate>Tue, 29 Apr 2008 16:32:36 GMT</pubDate></item><item><title><![CDATA[Reply to While Schleife blockiert Anwendung on Tue, 29 Apr 2008 17:43:10 GMT]]></title><description><![CDATA[<p>guggst hier kollege schrieb:</p>
<blockquote>
<p>Starte einen Thread zur Button Überwachung und leg ihm mit Sleep immer ca 500ms schlafen, so daß er den DLL-Thread nicht sonderlich behindert. In diesem Thread setzt dein Button eine globale Variable die du im anderen Thread in deine while schleife abfragen kannst.</p>
</blockquote>
<p>Absoluter Unsinn. Was soll denn der andere Workerthread wenn der Button dem Main Thread gehört?<br />
Dann doch lieber die Arbeit auslagern und nicht die UI!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1500720</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1500720</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 29 Apr 2008 17:43:10 GMT</pubDate></item></channel></rss>