<?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[MFC-Newbie peilts noch nicht so ganz....]]></title><description><![CDATA[<p>Ich bin grad dabei, mir die MFC-Klassen anzueignen. Dabei hab ich mal folgendes<br />
Programm ausprobiert:</p>
<pre><code class="language-cpp">/* MyMFCApplication.h */
#include &lt;afxwin.h&gt;
class CMyMFCApplication:public CWinApp
{
public:
virtual BOOL InitInstance();
};
class CMainFrame:public CFrameWnd
{
public:
CMainFrame();
};
/* MyMFCApplication.cpp */
#include &quot;MyMFCApplication.h&quot;
CMyMFCAnw meineAnw;
BOOL CMyMFCApplication::InitInstance()
{
m_pMainWnd = new CMainFrame;
m_pMainWnd-&gt;ShowWindow(m_nCmdShow);
return TRUE;
}
CMainFrame::CMainFrame()
{
Create(NULL,&quot;Programm MyMFCApplication&quot;);
}
</code></pre>
<p>Ein recht einfach gestricktes Ding. Die Funktionsweise ist mir in soweit klar.<br />
Nur kommt mir das Laufzeitverhalten ziemlich komisch vor. Das Fenster öffnet sich nur kurz und verschwindet gleich wieder. Ist das normal? Soweit ich das verstanden habe, ist doch in den MFC-Klassen bereits eine Messageloop gekapselt, die nur mit der Message WM_Quit gestoppt wird. Und soweit es mich betrifft: ich hab sicher nichts veranlasst, was diese Message schickt. Ich hab<br />
mal zum Test einen Sleep() Funktionsaufruf eingebaut, dann war das Ding länger<br />
zu sehen. Aber das kann ja wohl nicht Sinn der Sache sein?!?</p>
<p>Die MFC-Profis lachen sicher drüber, aber ich versteh das ehrlich nicht....</p>
<p>Karotte</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/55697/mfc-newbie-peilts-noch-nicht-so-ganz</link><generator>RSS for Node</generator><lastBuildDate>Tue, 02 Jun 2026 02:41:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/55697.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 18 Nov 2003 20:27:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to MFC-Newbie peilts noch nicht so ganz.... on Tue, 18 Nov 2003 20:27:09 GMT]]></title><description><![CDATA[<p>Ich bin grad dabei, mir die MFC-Klassen anzueignen. Dabei hab ich mal folgendes<br />
Programm ausprobiert:</p>
<pre><code class="language-cpp">/* MyMFCApplication.h */
#include &lt;afxwin.h&gt;
class CMyMFCApplication:public CWinApp
{
public:
virtual BOOL InitInstance();
};
class CMainFrame:public CFrameWnd
{
public:
CMainFrame();
};
/* MyMFCApplication.cpp */
#include &quot;MyMFCApplication.h&quot;
CMyMFCAnw meineAnw;
BOOL CMyMFCApplication::InitInstance()
{
m_pMainWnd = new CMainFrame;
m_pMainWnd-&gt;ShowWindow(m_nCmdShow);
return TRUE;
}
CMainFrame::CMainFrame()
{
Create(NULL,&quot;Programm MyMFCApplication&quot;);
}
</code></pre>
<p>Ein recht einfach gestricktes Ding. Die Funktionsweise ist mir in soweit klar.<br />
Nur kommt mir das Laufzeitverhalten ziemlich komisch vor. Das Fenster öffnet sich nur kurz und verschwindet gleich wieder. Ist das normal? Soweit ich das verstanden habe, ist doch in den MFC-Klassen bereits eine Messageloop gekapselt, die nur mit der Message WM_Quit gestoppt wird. Und soweit es mich betrifft: ich hab sicher nichts veranlasst, was diese Message schickt. Ich hab<br />
mal zum Test einen Sleep() Funktionsaufruf eingebaut, dann war das Ding länger<br />
zu sehen. Aber das kann ja wohl nicht Sinn der Sache sein?!?</p>
<p>Die MFC-Profis lachen sicher drüber, aber ich versteh das ehrlich nicht....</p>
<p>Karotte</p>
]]></description><link>https://www.c-plusplus.net/forum/post/397223</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/397223</guid><dc:creator><![CDATA[Karotte]]></dc:creator><pubDate>Tue, 18 Nov 2003 20:27:09 GMT</pubDate></item><item><title><![CDATA[Reply to MFC-Newbie peilts noch nicht so ganz.... on Tue, 18 Nov 2003 23:58:39 GMT]]></title><description><![CDATA[<p>beste lösung:<br />
debuge dich einfach mal rein <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="😉"
    /><br />
Setzte einen breakpoint am return TRUE und schau dir an was er macht.<br />
Du kommst dann zirka hier an:</p>
<pre><code class="language-cpp">// Perform specific initializations
	if (!pThread-&gt;InitInstance())
	{
		if (pThread-&gt;m_pMainWnd != NULL)
		{
			TRACE(traceAppMsg, 0, &quot;Warning: Destroying non-NULL m_pMainWnd\n&quot;);
			pThread-&gt;m_pMainWnd-&gt;DestroyWindow();
		}
		nReturnCode = pThread-&gt;ExitInstance();
		goto InitFailure;
	}
	nReturnCode = pThread-&gt;Run();
</code></pre>
<p>kommt er bis zum pThread-&gt;Run(); -&gt; rein<br />
Irgendwann kommst du dann in ein CWinThread::Run() -&gt; Message Loop, dort solltest du dann sofort sehen ob da ne WM_QUIT kommt oder sonst was schief läuft <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>
<p>btw. warum verwendest du nicht die assistanten um die Grundstruklassen zu erstellen? :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/397392</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/397392</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Tue, 18 Nov 2003 23:58:39 GMT</pubDate></item><item><title><![CDATA[Reply to MFC-Newbie peilts noch nicht so ganz.... on Wed, 19 Nov 2003 06:11:16 GMT]]></title><description><![CDATA[<p>Auf jeden Fall hast du ein Speicherleck drin ... Versuchs mal mit DoModal statt ShowWindow ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/397420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/397420</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Wed, 19 Nov 2003 06:11:16 GMT</pubDate></item><item><title><![CDATA[Reply to MFC-Newbie peilts noch nicht so ganz.... on Wed, 19 Nov 2003 10:05:13 GMT]]></title><description><![CDATA[<p>Danke <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/963"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/963">@dEUs</a></a>, <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/905"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/905">@CMatt</a></a> für die prompte Antwort. Hab jetzt mal den Debugger angeschmissen und es war was ganz triviales. Die Funktion InitInstance() wird ja überschrieben. Ich hab nur nicht ganz überrissen, das m_pMainWnd eine Membervariable ist und nur zur Weitergabe der Fensteradresse da ist. Ich Depp hab die Variable umbenannt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /> . Naja, das nächste mal die Namenskonventionen besser beachten (m_ = member *gg*).<br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/905"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/905">@CMatt</a></a>: Die Assistenten sind sicher auch ne Lösung. Aber ich möchte mich halt erst mal mit den Klassen vertraut machen und deshalb mach ich hier erst mal alles per Hand <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="😉"
    /><br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/963"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/963">@dEUs</a></a>: das mit dem Speicherleck hab ich nicht ganz gerafft. DoModal wird doch auch überhaupt nicht von CFrameWnd als Membermethode unterstützt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Nochmal Danke Leute</p>
]]></description><link>https://www.c-plusplus.net/forum/post/397548</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/397548</guid><dc:creator><![CDATA[Karotte]]></dc:creator><pubDate>Wed, 19 Nov 2003 10:05:13 GMT</pubDate></item><item><title><![CDATA[Reply to MFC-Newbie peilts noch nicht so ganz.... on Wed, 19 Nov 2003 10:13:41 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">m_pMainWnd = new CMainFrame; 
m_pMainWnd-&gt;ShowWindow(m_nCmdShow);
</code></pre>
<p>Hier holst du Speicher für m_pMainWnd. Gibts ihn aber nirgends mit delete frei -&gt; Speicherleck!</p>
<p>Das mit DoModal vergisste am Besten, hab zu schnell geschrieben und zu wenig gedacht <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="😉"
    /> Hast natürlich recht, CFrameWnd hat DoModal garnet <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/397556</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/397556</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Wed, 19 Nov 2003 10:13:41 GMT</pubDate></item><item><title><![CDATA[Reply to MFC-Newbie peilts noch nicht so ganz.... on Wed, 19 Nov 2003 13:27:45 GMT]]></title><description><![CDATA[<p>Na Karotte ist mal ein anständiger nick... nur schade das du MFC`ler bist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/397779</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/397779</guid><dc:creator><![CDATA[Blumentopf]]></dc:creator><pubDate>Wed, 19 Nov 2003 13:27:45 GMT</pubDate></item><item><title><![CDATA[Reply to MFC-Newbie peilts noch nicht so ganz.... on Wed, 19 Nov 2003 19:37:50 GMT]]></title><description><![CDATA[<p>...und da hast du natürlich recht <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/963">@dEUS</a>. Natürlich sollte man den mit new allokierten Speicher wieder freigeben. War zugegebenermaßen ziemlich schlampig von mir, aber das Proggy ist ja wie gesagt nur zum ausprobieren <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>
<p>Danke für die Blumen <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/4488">@Blumentopf</a>. Aber mich als MFCler zu bezeichnen ist schon ein wenig übertrieben, ich steck ja hier erfahrungsmäßig noch in den Kinderschuhen wie man hier sieht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> . Aber wieso eigentlich schade? Die alte WinAPI ist ja schon nicht schlecht, aber mit der OO-Unterstützung der MFC scheint das doch wesentlich komfortabler zu sein, oder? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <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/398244</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/398244</guid><dc:creator><![CDATA[Karotte]]></dc:creator><pubDate>Wed, 19 Nov 2003 19:37:50 GMT</pubDate></item><item><title><![CDATA[Reply to MFC-Newbie peilts noch nicht so ganz.... on Wed, 19 Nov 2003 20:21:47 GMT]]></title><description><![CDATA[<p>nicht so bescheiden Karotte <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/398267</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/398267</guid><dc:creator><![CDATA[leckermäulchen]]></dc:creator><pubDate>Wed, 19 Nov 2003 20:21:47 GMT</pubDate></item></channel></rss>