<?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[Endlosschleife --&amp;gt; Anwendung reagiert nicht --&amp;gt; über Button beenden]]></title><description><![CDATA[<p>Durch Klicken auf einen Button soll eine Endlosschleife (&quot;Interruptabfrage&quot;) gestartet werden. Leider &quot;reagiert die Anwendung nicht mehr&quot;, da ständig die Abfrage durchgeführt wird und sie kann nur über den Taskmanager beendet werden.<br />
Gibt es eine Möglichkeit einen Button bzw. die Schließen-Schaltfläche trotz Endlosschleife im selben Formular &quot;aktiv&quot; zu behalten und den Benutzer die Anwendung über diesen Button beenden zu lassen?</p>
<p>LG Philipp</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/67465/endlosschleife-gt-anwendung-reagiert-nicht-gt-über-button-beenden</link><generator>RSS for Node</generator><lastBuildDate>Sat, 06 Jun 2026 11:06:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/67465.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 08 Mar 2004 20:06:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; Anwendung reagiert nicht --&amp;gt; über Button beenden on Mon, 08 Mar 2004 20:06:15 GMT]]></title><description><![CDATA[<p>Durch Klicken auf einen Button soll eine Endlosschleife (&quot;Interruptabfrage&quot;) gestartet werden. Leider &quot;reagiert die Anwendung nicht mehr&quot;, da ständig die Abfrage durchgeführt wird und sie kann nur über den Taskmanager beendet werden.<br />
Gibt es eine Möglichkeit einen Button bzw. die Schließen-Schaltfläche trotz Endlosschleife im selben Formular &quot;aktiv&quot; zu behalten und den Benutzer die Anwendung über diesen Button beenden zu lassen?</p>
<p>LG Philipp</p>
]]></description><link>https://www.c-plusplus.net/forum/post/476084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/476084</guid><dc:creator><![CDATA[Philm]]></dc:creator><pubDate>Mon, 08 Mar 2004 20:06:15 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; Anwendung reagiert nicht --&amp;gt; über Button beenden on Mon, 08 Mar 2004 22:34:56 GMT]]></title><description><![CDATA[<p>Threads sollten helfen. Schau mal in die FAQ. Hab zu wenig ahnung von um details zu liefern. sry</p>
<p>imho müsstest Du aber diese Schleife in einen Thread packen bzw. das Abbrechen durch einen hilfsthread erledigen lassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/476191</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/476191</guid><dc:creator><![CDATA[Knuddlbaer]]></dc:creator><pubDate>Mon, 08 Mar 2004 22:34:56 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; Anwendung reagiert nicht --&amp;gt; über Button beenden on Tue, 09 Mar 2004 09:35:07 GMT]]></title><description><![CDATA[<p>das ist doch dann kein interrupt, sondern Polling ( busy waiting auch gennant )</p>
<p>oder irre ich mich da?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/476313</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/476313</guid><dc:creator><![CDATA[fletscher]]></dc:creator><pubDate>Tue, 09 Mar 2004 09:35:07 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; Anwendung reagiert nicht --&amp;gt; über Button beenden on Tue, 09 Mar 2004 10:10:02 GMT]]></title><description><![CDATA[<p>Servus,</p>
<p>ka wie das mit den Threads geht aber ich mache das dann so:</p>
<pre><code class="language-cpp">void CDeinDlg::PumpMessages()
{
	ASSERT(GetSafeHwnd() != NULL);
	MSG msg;

	while (PeekMessage(&amp;msg, NULL, 0, 0, PM_REMOVE))
	{
		if (!IsDialogMessage(&amp;msg))
		{
			::TranslateMessage(&amp;msg);
			::DispatchMessage(&amp;msg);
		}
	}
}
</code></pre>
<p>und dann in der schleife am Anfang am besten aufrufen:</p>
<pre><code class="language-cpp">while(blabla)
{
  PumpMessages();
}
</code></pre>
<p>dann reagiert auch dein DLG wieder...</p>
<p>Musste mal testen...</p>
<p>*winke*<br />
Hellsgore</p>
]]></description><link>https://www.c-plusplus.net/forum/post/476340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/476340</guid><dc:creator><![CDATA[Hellsgore]]></dc:creator><pubDate>Tue, 09 Mar 2004 10:10:02 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; Anwendung reagiert nicht --&amp;gt; über Button beenden on Tue, 09 Mar 2004 21:31:21 GMT]]></title><description><![CDATA[<p>Hellsgore schrieb:</p>
<blockquote>
<p>Servus,</p>
<p>ka wie das mit den Threads geht aber ich mache das dann so:</p>
<pre><code class="language-cpp">void CDeinDlg::PumpMessages()
{
	ASSERT(GetSafeHwnd() != NULL);
	MSG msg;

	while (PeekMessage(&amp;msg, NULL, 0, 0, PM_REMOVE))
	{
		if (!IsDialogMessage(&amp;msg))
		{
			::TranslateMessage(&amp;msg);
			::DispatchMessage(&amp;msg);
		}
	}
}
</code></pre>
<p>und dann in der schleife am Anfang am besten aufrufen:</p>
<pre><code class="language-cpp">while(blabla)
{
  PumpMessages();
}
</code></pre>
<p>dann reagiert auch dein DLG wieder...</p>
<p>Musste mal testen...</p>
<p>*winke*<br />
Hellsgore</p>
</blockquote>
<p>@Hellsgor</p>
<p>DANKE, hat funktioniert!</p>
<p>Problem dabei: Wenn die Anwendung über Schließen beendet wird, wird der Task nicht automatisch gecancelt (erscheint noch im Taskmanager).</p>
<p>Hast du noch nen Tipp für mich? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>LG<br />
Philipp</p>
]]></description><link>https://www.c-plusplus.net/forum/post/476893</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/476893</guid><dc:creator><![CDATA[Philm]]></dc:creator><pubDate>Tue, 09 Mar 2004 21:31:21 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; Anwendung reagiert nicht --&amp;gt; über Button beenden on Tue, 09 Mar 2004 22:55:03 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Bei eine Close-Message musst du natürlich aus deiner <em>Endlosschleife</em> ausbrechen. Deine Schleife wird doch sicher noch andere Abbruchbedingung haben oder? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/476943</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/476943</guid><dc:creator><![CDATA[Andreas Kapust]]></dc:creator><pubDate>Tue, 09 Mar 2004 22:55:03 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; Anwendung reagiert nicht --&amp;gt; über Button beenden on Wed, 10 Mar 2004 16:04:17 GMT]]></title><description><![CDATA[<p>Andreas Kapust schrieb:</p>
<blockquote>
<p>Hi!</p>
<p>Deine Schleife wird doch sicher noch andere Abbruchbedingung haben oder? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
</blockquote>
<p>Nein (praktisch Polling mit while(1), es wird nur kurz die while-Schleife unterbrochen für die MessageBox)!</p>
<p>LG<br />
Philipp</p>
]]></description><link>https://www.c-plusplus.net/forum/post/477596</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/477596</guid><dc:creator><![CDATA[Philm]]></dc:creator><pubDate>Wed, 10 Mar 2004 16:04:17 GMT</pubDate></item></channel></rss>