<?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[Fenster korrekt zerstören]]></title><description><![CDATA[<p>Folgener beispielhafter Code:</p>
<pre><code class="language-cpp">CFrameWnd wnd;
wnd.Create(0,_T(&quot;Test&quot;));
wnd.ShowWindow(SW_SHOW);
Sleep(5000);
wnd.CloseWindow();
wnd.DestroyWindow();
</code></pre>
<p>Wenn ich das mache, fliegt mir DestroyWindow um die Ohren. CloseWindow alleine minimiert aber nur das Fenster, ich will beim Beenden aber ja das Fenster samt Ressourcen freigeben. Wie macht man das korrekt?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/190960/fenster-korrekt-zerstören</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 09:24:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/190960.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 28 Aug 2007 16:52:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fenster korrekt zerstören on Tue, 28 Aug 2007 16:52:35 GMT]]></title><description><![CDATA[<p>Folgener beispielhafter Code:</p>
<pre><code class="language-cpp">CFrameWnd wnd;
wnd.Create(0,_T(&quot;Test&quot;));
wnd.ShowWindow(SW_SHOW);
Sleep(5000);
wnd.CloseWindow();
wnd.DestroyWindow();
</code></pre>
<p>Wenn ich das mache, fliegt mir DestroyWindow um die Ohren. CloseWindow alleine minimiert aber nur das Fenster, ich will beim Beenden aber ja das Fenster samt Ressourcen freigeben. Wie macht man das korrekt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1353966</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1353966</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Tue, 28 Aug 2007 16:52:35 GMT</pubDate></item><item><title><![CDATA[Reply to Fenster korrekt zerstören on Tue, 28 Aug 2007 18:41:57 GMT]]></title><description><![CDATA[<p>Lass CloseWindow einfach weg und ruf nur DestroyWindow auf.<br />
Was geschieht den exakt für ein ASSERT, bzw. Crash?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354043</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354043</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 28 Aug 2007 18:41:57 GMT</pubDate></item><item><title><![CDATA[Reply to Fenster korrekt zerstören on Wed, 29 Aug 2007 18:06:50 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>Lass CloseWindow einfach weg und ruf nur DestroyWindow auf.</p>
</blockquote>
<p>Der Fehler fliegt trotzdem</p>
<p>Martin Richter schrieb:</p>
<blockquote>
<p>Was geschieht den exakt für ein ASSERT, bzw. Crash?</p>
</blockquote>
<p>Folgende Meldung erscheint:</p>
<blockquote>
<p>Windows hat einen Haltepunkt in AERayTrace.exe ausgelöst.</p>
<p>Dies kann auf eine Beschädigung des Heaps zurückzuführen sein und weist auf ein Problem in AERayTrace.exe oder in einer der geladenen DLLs hin.</p>
<p>Weitere Analyseinformationen finden Sie möglicherweise im Ausgabefenster.</p>
</blockquote>
<p>Wie gesagt der obere Quellcode da ist nru beispielhaft und löst halt den auch den Fehler aus, den mein eigentliches Fenster auch hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354775</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354775</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Wed, 29 Aug 2007 18:06:50 GMT</pubDate></item><item><title><![CDATA[Reply to Fenster korrekt zerstören on Wed, 29 Aug 2007 18:17:33 GMT]]></title><description><![CDATA[<p>Nun dann ist Dein Heap kaputt. Das hat nur am Rande mit dem zerstören des Fenster kaputt.<br />
Bei mal vorher und zwischen den Calls einen ASSERT(AfxChekMemory()) ein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354796</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354796</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 29 Aug 2007 18:17:33 GMT</pubDate></item><item><title><![CDATA[Reply to Fenster korrekt zerstören on Wed, 29 Aug 2007 21:09:04 GMT]]></title><description><![CDATA[<p>Macht die Klasse vielleicht ein &quot;delete this;&quot; im PostNcDestroy?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354950</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 29 Aug 2007 21:09:04 GMT</pubDate></item><item><title><![CDATA[Reply to Fenster korrekt zerstören on Thu, 30 Aug 2007 06:00:57 GMT]]></title><description><![CDATA[<p>@hustbaear: Das war der entscheidende Hinweis! Ich war etwas blind. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>CFrameWnd macht immer ein delete this; im OnNcDestroy/PostNcDestroy!<br />
Und hier wurde auch nicht abgeleitet.</p>
<p>Ein FrameWnd muss also auf dem Heap leben. Der Code den ich sehe zeigt, dass dieses Objekt auf dem Stack angelegt wurde.<br />
Also den Code wie folgt ändern:</p>
<pre><code class="language-cpp">CFrameWnd *pwnd = new CFrameWnd();
pwnd-&gt;Create(0,_T(&quot;Test&quot;));
pwnd-&gt;ShowWindow(SW_SHOW);
Sleep(5000);
pwnd-&gt;CloseWindow();
pwnd-&gt;DestroyWindow();
// delete pwnd; ist nicht nötig, dass macht das CFrameWnd selbst
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1355043</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1355043</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Thu, 30 Aug 2007 06:00:57 GMT</pubDate></item><item><title><![CDATA[Reply to Fenster korrekt zerstören on Thu, 30 Aug 2007 07:58:20 GMT]]></title><description><![CDATA[<p>Klasse, Vielen Dank für die Hilfe! <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/1355116</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1355116</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Thu, 30 Aug 2007 07:58:20 GMT</pubDate></item><item><title><![CDATA[Reply to Fenster korrekt zerstören on Thu, 30 Aug 2007 13:45:32 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>@hustbaear: Das war der entscheidende Hinweis! Ich war etwas blind. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
</blockquote>
<p>Passiert den Besten <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/1355375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1355375</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 30 Aug 2007 13:45:32 GMT</pubDate></item></channel></rss>