<?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[Stack Overflow - Problem mit WM_COMMAND bei Dialog]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Problem: Ich docke zwei Dialoge in meiner Win32-Anwendung an, indem ich schlicht und ergreifend diese Dialoge mit dem Stil &quot;Kontextmenü&quot; mittels CreateDialog(...) erstelle, und entsprechend am Parentfenster positioniere. Einer der beiden Dialoge klappt wunderbar, der andere macht Probleme: Scheinbar wird ständig, in meinen Augen grundlos, eine WM_COMMAND Nachricht an den Dialog gesendet. Wenn ich zum Test eine MessageBox() darin ausgeben lasse, kommt nach wenigen Sekunden der Ausführung die Fehlermeldung &quot;Stack Overflow&quot;, und das System hängt sich auf.</p>
<p>So wird der Dialog erstellt (wird in WM_CREATE des Parentfensters aufgerufen):</p>
<pre><code class="language-cpp">dlghandle=CreateDialog(GetModuleHandle(NULL),MAKEINTRESOURCE(IDD_CMDLINE),parent,CmdboxProc);

	if(dlghandle!=NULL)
	{
		ShowWindow(dlghandle,SW_SHOW);
	}
	else
	{
		MessageBox(NULL,ERR_CMDBOXFAILED,ERR_CAPTION,MB_OK|MB_ICONERROR);
		return false;
	}
</code></pre>
<p>Und so sieht die entsprechende Nachrichtenprozedur aus:</p>
<pre><code class="language-cpp">switch(message)
{
	case WM_COMMAND:
	{
		MessageBox(NULL,&quot; &quot;,&quot; &quot;,MB_OK);
		break;
	}
	default:
		return false;
}
return true;
</code></pre>
<p>Erkennt jemand einen Fehler? Falls nein, habt ihr einen Tipp, wie man einen solchen Fehler am Besten analysieren könnte?<br />
Den anderen Dialog, den ich andocke, habe ich ganz genau auf die gleiche Art und Weise erstellt, und er funktioniert. Ich verstehe das nicht.</p>
<p>Bin für jede Hilfe dankbar, ich mach mit dem Problem seit 2 Tagen rum...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/118910/stack-overflow-problem-mit-wm_command-bei-dialog</link><generator>RSS for Node</generator><lastBuildDate>Sat, 04 Jul 2026 13:35:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/118910.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 25 Aug 2005 14:28:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Stack Overflow - Problem mit WM_COMMAND bei Dialog on Thu, 25 Aug 2005 14:28:22 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Problem: Ich docke zwei Dialoge in meiner Win32-Anwendung an, indem ich schlicht und ergreifend diese Dialoge mit dem Stil &quot;Kontextmenü&quot; mittels CreateDialog(...) erstelle, und entsprechend am Parentfenster positioniere. Einer der beiden Dialoge klappt wunderbar, der andere macht Probleme: Scheinbar wird ständig, in meinen Augen grundlos, eine WM_COMMAND Nachricht an den Dialog gesendet. Wenn ich zum Test eine MessageBox() darin ausgeben lasse, kommt nach wenigen Sekunden der Ausführung die Fehlermeldung &quot;Stack Overflow&quot;, und das System hängt sich auf.</p>
<p>So wird der Dialog erstellt (wird in WM_CREATE des Parentfensters aufgerufen):</p>
<pre><code class="language-cpp">dlghandle=CreateDialog(GetModuleHandle(NULL),MAKEINTRESOURCE(IDD_CMDLINE),parent,CmdboxProc);

	if(dlghandle!=NULL)
	{
		ShowWindow(dlghandle,SW_SHOW);
	}
	else
	{
		MessageBox(NULL,ERR_CMDBOXFAILED,ERR_CAPTION,MB_OK|MB_ICONERROR);
		return false;
	}
</code></pre>
<p>Und so sieht die entsprechende Nachrichtenprozedur aus:</p>
<pre><code class="language-cpp">switch(message)
{
	case WM_COMMAND:
	{
		MessageBox(NULL,&quot; &quot;,&quot; &quot;,MB_OK);
		break;
	}
	default:
		return false;
}
return true;
</code></pre>
<p>Erkennt jemand einen Fehler? Falls nein, habt ihr einen Tipp, wie man einen solchen Fehler am Besten analysieren könnte?<br />
Den anderen Dialog, den ich andocke, habe ich ganz genau auf die gleiche Art und Weise erstellt, und er funktioniert. Ich verstehe das nicht.</p>
<p>Bin für jede Hilfe dankbar, ich mach mit dem Problem seit 2 Tagen rum...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/858394</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/858394</guid><dc:creator><![CDATA[HeuteHierMorgenDort]]></dc:creator><pubDate>Thu, 25 Aug 2005 14:28:22 GMT</pubDate></item><item><title><![CDATA[Reply to Stack Overflow - Problem mit WM_COMMAND bei Dialog on Thu, 25 Aug 2005 15:44:04 GMT]]></title><description><![CDATA[<p>Also für mich sieht daß so aus als ob du den break nicht richtig plaziert hast.</p>
<p>Probiers mal so:</p>
<pre><code class="language-cpp">switch(message)
{
    case WM_COMMAND:
    {
        MessageBox(NULL,&quot; &quot;,&quot; &quot;,MB_OK);
    }
        break;  
    default:    
        return false;
}
return true;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/858483</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/858483</guid><dc:creator><![CDATA[_BackBONE_]]></dc:creator><pubDate>Thu, 25 Aug 2005 15:44:04 GMT</pubDate></item><item><title><![CDATA[Reply to Stack Overflow - Problem mit WM_COMMAND bei Dialog on Thu, 25 Aug 2005 17:38:28 GMT]]></title><description><![CDATA[<p>Danke aber es ändert leider nichts - hätte mich auch irgendwie gewundert... <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>
]]></description><link>https://www.c-plusplus.net/forum/post/858554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/858554</guid><dc:creator><![CDATA[HeuteHierMorgenDort]]></dc:creator><pubDate>Thu, 25 Aug 2005 17:38:28 GMT</pubDate></item><item><title><![CDATA[Reply to Stack Overflow - Problem mit WM_COMMAND bei Dialog on Thu, 25 Aug 2005 17:41:53 GMT]]></title><description><![CDATA[<p>check doch in WM_COMMAND auf die richtige ID.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/858561</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/858561</guid><dc:creator><![CDATA[not]]></dc:creator><pubDate>Thu, 25 Aug 2005 17:41:53 GMT</pubDate></item><item><title><![CDATA[Reply to Stack Overflow - Problem mit WM_COMMAND bei Dialog on Thu, 25 Aug 2005 17:57:21 GMT]]></title><description><![CDATA[<p>Hast schon recht, aber ich würde gerne generell wissen, ob es normal ist, dass WM_COMMAND so oft ausgeführt wird, oder ob ich damit rechnen muss, schwere Fehler in meinem Programm zu haben...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/858576</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/858576</guid><dc:creator><![CDATA[HeuteHierMorgenDort]]></dc:creator><pubDate>Thu, 25 Aug 2005 17:57:21 GMT</pubDate></item><item><title><![CDATA[Reply to Stack Overflow - Problem mit WM_COMMAND bei Dialog on Thu, 25 Aug 2005 18:13:33 GMT]]></title><description><![CDATA[<p>Hast du z.B. ne Edit-Box auf dem Dialog? Dann wird oft WM_COMMAND mit EN_UPDATE gesendet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/858588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/858588</guid><dc:creator><![CDATA[beispiel]]></dc:creator><pubDate>Thu, 25 Aug 2005 18:13:33 GMT</pubDate></item><item><title><![CDATA[Reply to Stack Overflow - Problem mit WM_COMMAND bei Dialog on Thu, 25 Aug 2005 18:38:38 GMT]]></title><description><![CDATA[<p>Oh ja, genau das ist der Fall... Danke für die Info, wusste ich nicht. Aber wieso kommt der Stack Overflow? Ich meine - wenn ich bei WM_COMMAND ne MessageBox aufrufe, müsste dies reibungslos funktionieren - selbst wenn sie oft ausgeführt werden muss, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/858606</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/858606</guid><dc:creator><![CDATA[HeuteHierMorgenDort]]></dc:creator><pubDate>Thu, 25 Aug 2005 18:38:38 GMT</pubDate></item></channel></rss>