<?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[Aquivalent zu DoEvents aus VB ?]]></title><description><![CDATA[<p>Die Oberfläche meines Programms ist quasi deaktiviert, solange mein Algoritmus läuft (CPU 100%). Unter VB gibt es den Befehl DoEvents, der dafür sorgt, dass auch Rechenzeit für das aktualisiern und abfragen von Oberflächenelementen übrigbleibt.</p>
<p>Konkret möchte ich alle Steuerelemente in dem Dialog und der Application allgemein weiterhin nutzen könnnen obwohl der Algoritmus läuft.<br />
Der Algoritmus soll über einen Button abgebrochen werden können, was aber so nicht mehr funktioniert.</p>
<p>Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/172918/aquivalent-zu-doevents-aus-vb</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Apr 2026 13:34:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/172918.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 09 Feb 2007 16:11:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Aquivalent zu DoEvents aus VB ? on Fri, 09 Feb 2007 16:11:56 GMT]]></title><description><![CDATA[<p>Die Oberfläche meines Programms ist quasi deaktiviert, solange mein Algoritmus läuft (CPU 100%). Unter VB gibt es den Befehl DoEvents, der dafür sorgt, dass auch Rechenzeit für das aktualisiern und abfragen von Oberflächenelementen übrigbleibt.</p>
<p>Konkret möchte ich alle Steuerelemente in dem Dialog und der Application allgemein weiterhin nutzen könnnen obwohl der Algoritmus läuft.<br />
Der Algoritmus soll über einen Button abgebrochen werden können, was aber so nicht mehr funktioniert.</p>
<p>Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1225781</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1225781</guid><dc:creator><![CDATA[pospiech]]></dc:creator><pubDate>Fri, 09 Feb 2007 16:11:56 GMT</pubDate></item><item><title><![CDATA[Reply to Aquivalent zu DoEvents aus VB ? on Fri, 09 Feb 2007 16:59:05 GMT]]></title><description><![CDATA[<p>Hier könntest Du eine Schleife von PeekMessage mit AfxPumpMessage verwenden. Allerdings macht dies Deine Anwendung reentrant.</p>
<p>Für einfache Sachen ist das OK, für komplexere würde ich THreads empfehlen.</p>
<p>Siehe hier mein Lieblings Verweis:<br />
<a href="http://www.microsoft.com/msj/0798/c0798.aspx" rel="nofollow">http://www.microsoft.com/msj/0798/c0798.aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1225799</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1225799</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Fri, 09 Feb 2007 16:59:05 GMT</pubDate></item><item><title><![CDATA[Reply to Aquivalent zu DoEvents aus VB ? on Sat, 10 Feb 2007 21:43:35 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>Hier könntest Du eine Schleife von PeekMessage mit AfxPumpMessage verwenden. Allerdings macht dies Deine Anwendung reentrant.</p>
</blockquote>
<p>Im Forum habe ich den folgenden Code gefunden, meinst du dass ?</p>
<pre><code>while( ::PeekMessage( &amp;msg, NULL, NULL, NULL, PM_NOREMOVE ) ) 
   ::AfxGetThread()-&gt;PumpMessage();
</code></pre>
<p>Allerdings verstehe ich nicht wirklich was dort passiert.<br />
Nebenbei, ich habe nach der Bedeutung von 'reentrant' gesucht, aber die Erklärung nicht verstanden.</p>
<p>Martin Richter schrieb:</p>
<blockquote>
<p>Für einfache Sachen ist das OK, für komplexere würde ich THreads empfehlen.</p>
</blockquote>
<p>Wie kompliziert ist es das in einen Thread auszulagern, und wo kann ich darüber informieren wie das überhaupt geht? Und ab wann habe ich ein komplexes Programm?</p>
<p>Martin Richter schrieb:</p>
<blockquote>
<p>Siehe hier mein Lieblings Verweis:<br />
<a href="http://www.microsoft.com/msj/0798/c0798.aspx" rel="nofollow">http://www.microsoft.com/msj/0798/c0798.aspx</a></p>
</blockquote>
<p>Also einen Abbrechüberprüfung die über einen Button ausgelöst wird habe ich schon implementiert. Nur kann halt der Button nicht gedrückt werden. Da ich seit 10 Jahren hobbymäßig an VB6 programmiere sind mir derartige Vorgehensweisen bekannt.</p>
<p>Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1226505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1226505</guid><dc:creator><![CDATA[pospiech]]></dc:creator><pubDate>Sat, 10 Feb 2007 21:43:35 GMT</pubDate></item><item><title><![CDATA[Reply to Aquivalent zu DoEvents aus VB ? on Sun, 11 Feb 2007 03:59:42 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/14053">@pospiech</a>:</p>
<p>Schlag reentrant auf Wikipedia oder sonst wo nach wenn du das Wort nicht kennst.<br />
In diesem speziellen Fall bedeutet es, dass Top-Level Event Handler mehrfach im Callstack auftauchen können.<br />
Also wenn du z.B. einen Button &quot;Go&quot; hast, und einen Handler OnGo dafür, und in diesem OnGo Handler eine Berechnung die längere Zeit braucht, und Messages verarbeitet (die als PumpMessage oder ähnliches aufruft), dann kann aus der PumpMessage Funktion heraus wieder OnGo aufgerufen werden, wenn der User nochmal auf &quot;Go&quot; drückt.<br />
Sieht dann so aus:</p>
<pre><code>MainXyz
  PumpMessage
    OnGo
      PumpMessage
        OnGo
          PumpMessage
            ...
</code></pre>
<p>Genauso kann es passieren dass, wenn der User z.B. auf &quot;X&quot; drückt, OnClose aufgerufen wird:</p>
<pre><code>MainXyz
  PumpMessage
    OnGo
      PumpMessage
        OnClose
          ...
</code></pre>
<p>Und wenn du das nicht abfängst würde ich sagen dass das schlecht ist <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/1226621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1226621</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sun, 11 Feb 2007 03:59:42 GMT</pubDate></item><item><title><![CDATA[Reply to Aquivalent zu DoEvents aus VB ? on Mon, 12 Feb 2007 08:07:42 GMT]]></title><description><![CDATA[<p>Danke für die Erklärung. Hätte denn vielleicht noch jemand einen Verweis auf eine Einführung in Threads für mich?</p>
<p>Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1227183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1227183</guid><dc:creator><![CDATA[pospiech]]></dc:creator><pubDate>Mon, 12 Feb 2007 08:07:42 GMT</pubDate></item><item><title><![CDATA[Reply to Aquivalent zu DoEvents aus VB ? on Mon, 12 Feb 2007 08:37:04 GMT]]></title><description><![CDATA[<p>Ein Beispiel dafür mit einer guten brauchbaren Klasse habe ich Dir doch gegeben...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1227194</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1227194</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 12 Feb 2007 08:37:04 GMT</pubDate></item></channel></rss>