<?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[Memory Leak in nicht-modalen Dialog]]></title><description><![CDATA[<p>Hallo,<br />
ich habe in meinem Programm einen nicht-modalen Dialog, in ihm sollen Messwerte dargestellt werden die zyklisch aus einem Messgerät gelesen werden.</p>
<p>Zum testen lasse ich in einem Statischen Textfeld eine Zahl inkrementieren, das funktioniert soweit auch alles.<br />
Nur leider gibts ein paar Probleme:<br />
1.Die Hintergrundfarbe in diesem Statischen Textfeld verschwindet.<br />
2.Nach beenden des Dialogs scheint es so als würde das Mainwindow nicht richtig aktiviert, oder nicht richtig neugezeichnet?<br />
3.Bei erneutem Starten des Dialogs wird nur Müll angezeigt.</p>
<p>Vermute ich habe irgendwo ein memory leak in meinem Programm.<br />
Kann mir jemand weiterhelfen?</p>
<p>ps:Werde gleich mal etwas Code Posten.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/168353/memory-leak-in-nicht-modalen-dialog</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Apr 2026 03:33:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/168353.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 21 Dec 2006 08:21:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Memory Leak in nicht-modalen Dialog on Thu, 21 Dec 2006 08:21:24 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe in meinem Programm einen nicht-modalen Dialog, in ihm sollen Messwerte dargestellt werden die zyklisch aus einem Messgerät gelesen werden.</p>
<p>Zum testen lasse ich in einem Statischen Textfeld eine Zahl inkrementieren, das funktioniert soweit auch alles.<br />
Nur leider gibts ein paar Probleme:<br />
1.Die Hintergrundfarbe in diesem Statischen Textfeld verschwindet.<br />
2.Nach beenden des Dialogs scheint es so als würde das Mainwindow nicht richtig aktiviert, oder nicht richtig neugezeichnet?<br />
3.Bei erneutem Starten des Dialogs wird nur Müll angezeigt.</p>
<p>Vermute ich habe irgendwo ein memory leak in meinem Programm.<br />
Kann mir jemand weiterhelfen?</p>
<p>ps:Werde gleich mal etwas Code Posten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195853</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195853</guid><dc:creator><![CDATA[maRKus23]]></dc:creator><pubDate>Thu, 21 Dec 2006 08:21:24 GMT</pubDate></item><item><title><![CDATA[Reply to Memory Leak in nicht-modalen Dialog on Thu, 21 Dec 2006 08:28:51 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">//Display.cpp

void CDisplay::InitialDialog(const CString&amp; strTitle)
{
	UpdateData (FALSE);
	SetWindowText(strTitle);
}

CDisplay* CDisplay::Instance(BOOL* bpCancel, CWnd* pParentWnd)
{
	BOOL bWOldState=FALSE;
	ASSERT(bpCancel!=NULL);
	if (bpCancel==NULL) return NULL;
	CDisplay* pWDlg = new CDisplay;

	if (pParentWnd==NULL) pWDlg-&gt;m_pParentWnd =  AfxGetApp()-&gt;m_pMainWnd; 
	else 
	{
		pWDlg-&gt;m_pParentWnd = pParentWnd;
	}

	if (!pWDlg-&gt;Create(IDD_VIEW_DISPLAY, pWDlg-&gt;m_pParentWnd))
	{
		delete pWDlg;
		pWDlg=NULL;
		return NULL;
	}
	if (pWDlg-&gt;m_pParentWnd!=NULL)
	  bWOldState = pWDlg-&gt;GetParentWnd()-&gt;EnableWindow(FALSE); 

	pWDlg-&gt;EnableWindow (TRUE);
	if (bWOldState) pWDlg-&gt;m_bOldEnableState=FALSE;
	else pWDlg-&gt;m_bOldEnableState=TRUE;

	pWDlg-&gt;m_pbCancel= bpCancel;
	pWDlg-&gt;ShowWindow(SW_SHOW);
	return pWDlg;
}

void CDisplay::Done()
{
	if (::IsWindow(GetSafeHwnd())) 
	{
		OnCancel();
	}
}

void CDisplay::OnCancel()
{
	notifyCancel();
	if (m_pParentWnd!=NULL) GetParentWnd()-&gt;EnableWindow(m_bOldEnableState);
	if (::IsWindow(GetSafeHwnd())) DestroyWindow();
}

void CDisplay::PostNcDestroy()
{
	delete this;
}

void CDisplay::OnCancelMode()
{
	CDialog::OnCancelMode();
}

//Mainfrm.cpp
void CMainFrame::OnViewDisplay()
{	
	BOOL bCancel=FALSE;
	CDisplay* MyDisplay;  

	MSG Msg;
	int i=0;
	char Buffer[10];

	MyDisplay=CDisplay::Instance (&amp;bCancel, this );
	MyDisplay-&gt;InitialDialog (&quot;Messwertfenster&quot;);
	MyDisplay-&gt;CTest=_T(&quot;Init&quot;);
	MyDisplay-&gt;UpdateData(FALSE);

    while (bCancel==FALSE)
	{
     while (::PeekMessage(&amp;Msg, NULL,0,0,PM_NOREMOVE))
	   {if (!AfxGetApp()-&gt;PumpMessage()) {::PostQuitMessage (0); break;}}

	i++;
	if (i&gt;10000) bCancel=TRUE;
	sprintf (Buffer,&quot;%d&quot;,i); 
	   MyDisplay-&gt;CTest= Buffer;   
    MyDisplay-&gt;UpdateData(FALSE); 
	}
	MyDisplay-&gt;Done();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1195860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195860</guid><dc:creator><![CDATA[maRKus23]]></dc:creator><pubDate>Thu, 21 Dec 2006 08:28:51 GMT</pubDate></item><item><title><![CDATA[Reply to Memory Leak in nicht-modalen Dialog on Thu, 21 Dec 2006 08:59:30 GMT]]></title><description><![CDATA[<p>Ein Ausschnitt aus der MSDN zum Thema PostNcDestroy():</p>
<p>MSDN: TN017 schrieb:</p>
<blockquote>
<p>If you wish to break any of these rules [damit ist die Auflistung gemeint, welche Klassen Auto-Cleanup unterstützen], you must override the PostNcDestroy member function in your derived class. To add auto-cleanup to your class, simply call your base class and then do a delete this. To remove auto-cleanup from your class, call CWnd::PostNcDestroy directly instead of the PostNcDestroy member in your direct base class.</p>
</blockquote>
<p>(der unterstirchene Teil dürfte für dich interessant sein)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195880</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 21 Dec 2006 08:59:30 GMT</pubDate></item><item><title><![CDATA[Reply to Memory Leak in nicht-modalen Dialog on Thu, 21 Dec 2006 09:01:45 GMT]]></title><description><![CDATA[<p>hmm?? so ganz klar ist mir das nicht.<br />
könntest mir das mal erklären?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195881</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195881</guid><dc:creator><![CDATA[maRKus23]]></dc:creator><pubDate>Thu, 21 Dec 2006 09:01:45 GMT</pubDate></item><item><title><![CDATA[Reply to Memory Leak in nicht-modalen Dialog on Thu, 21 Dec 2006 09:10:44 GMT]]></title><description><![CDATA[<p>Kurz gesagt: Deine Basisklasse könnte in der PostNcDestroy() eigene Aufräumarbeiten erledigen - und die fallen in deinem Code weg. Also mußt du ERST die PostNcDestroy()-Methode der Basisklasse aufrufen und DANACH dein <code>delete this;</code> einbauen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195887</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195887</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 21 Dec 2006 09:10:44 GMT</pubDate></item><item><title><![CDATA[Reply to Memory Leak in nicht-modalen Dialog on Thu, 21 Dec 2006 09:26:27 GMT]]></title><description><![CDATA[<p>ich habe jetzt meinen Code abgeändert in</p>
<pre><code class="language-cpp">CWnd::OnNcDestroy();
delete-&gt;this;
</code></pre>
<p>hat aber nichts gebracht.</p>
<p>und ein CWnd::PostNcDestroy(); gibt es nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195904</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195904</guid><dc:creator><![CDATA[maRKus23]]></dc:creator><pubDate>Thu, 21 Dec 2006 09:26:27 GMT</pubDate></item><item><title><![CDATA[Reply to Memory Leak in nicht-modalen Dialog on Thu, 21 Dec 2006 09:29:01 GMT]]></title><description><![CDATA[<p>sollte vllt mal CDialog::PostNcDestroy versuchen *lol*<br />
steh grad aufem schlauch!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195905</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195905</guid><dc:creator><![CDATA[maRKus23]]></dc:creator><pubDate>Thu, 21 Dec 2006 09:29:01 GMT</pubDate></item><item><title><![CDATA[Reply to Memory Leak in nicht-modalen Dialog on Thu, 21 Dec 2006 09:37:10 GMT]]></title><description><![CDATA[<p>nee das funktioniert auch nicht!! <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/1195910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195910</guid><dc:creator><![CDATA[maRKus23]]></dc:creator><pubDate>Thu, 21 Dec 2006 09:37:10 GMT</pubDate></item><item><title><![CDATA[Reply to Memory Leak in nicht-modalen Dialog on Thu, 21 Dec 2006 09:39:19 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void CDisplay::PostNcDestroy() 
{ 
    CDialog::PostNcDestroy();
    delete this; 
}
</code></pre>
<p>was ist daran falsch??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195913</guid><dc:creator><![CDATA[maRKus23]]></dc:creator><pubDate>Thu, 21 Dec 2006 09:39:19 GMT</pubDate></item><item><title><![CDATA[Reply to Memory Leak in nicht-modalen Dialog on Thu, 21 Dec 2006 09:42:10 GMT]]></title><description><![CDATA[<p>Aus meiner Sicht nichts - was sagt denn dein Compiler?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195915</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 21 Dec 2006 09:42:10 GMT</pubDate></item><item><title><![CDATA[Reply to Memory Leak in nicht-modalen Dialog on Thu, 21 Dec 2006 09:43:50 GMT]]></title><description><![CDATA[<p>der hat nichts zu meckern, compiliert es, nur löst es nicht mein Problem, alles ist wie vorher auch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195917</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195917</guid><dc:creator><![CDATA[maRKus23]]></dc:creator><pubDate>Thu, 21 Dec 2006 09:43:50 GMT</pubDate></item><item><title><![CDATA[Reply to Memory Leak in nicht-modalen Dialog on Thu, 21 Dec 2006 09:48:30 GMT]]></title><description><![CDATA[<p>maRKus23 schrieb:</p>
<blockquote>
<p>Vermute ich habe irgendwo ein memory leak in meinem Programm.</p>
</blockquote>
<p>Eventuell solltest du dieses &quot;irgendwo&quot; etwas eingrenzen (für eine erste Analyse reicht schon ein <code>#define new DEBUG_NEW</code> , ansonsten kannst du mal auf die Suche nach einem LeakFinder gehen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195921</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195921</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 21 Dec 2006 09:48:30 GMT</pubDate></item><item><title><![CDATA[Reply to Memory Leak in nicht-modalen Dialog on Thu, 21 Dec 2006 09:50:44 GMT]]></title><description><![CDATA[<p>was meinst du mit #define new DEBUG_NEW ? was bringt das denn?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195923</guid><dc:creator><![CDATA[maRKus23]]></dc:creator><pubDate>Thu, 21 Dec 2006 09:50:44 GMT</pubDate></item><item><title><![CDATA[Reply to Memory Leak in nicht-modalen Dialog on Thu, 21 Dec 2006 09:55:00 GMT]]></title><description><![CDATA[<p>Damit schaltest du eine Art Heap-Überwachung für dein Programm ein - du setzt die Zeile an den Anfang des Programms und schon wird für jeden new-Aufruf protokolliert, in welcher Programmzeile er war. Und am Ende des Programms gibt dir der Debugger eine Liste aller Speicherbereiche aus, die angefordert, aber nicht freigegeben wurden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195929</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195929</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 21 Dec 2006 09:55:00 GMT</pubDate></item><item><title><![CDATA[Reply to Memory Leak in nicht-modalen Dialog on Thu, 21 Dec 2006 09:56:11 GMT]]></title><description><![CDATA[<p>ahja werde das dann mal ausprobieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195930</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195930</guid><dc:creator><![CDATA[maRKus23]]></dc:creator><pubDate>Thu, 21 Dec 2006 09:56:11 GMT</pubDate></item><item><title><![CDATA[Reply to Memory Leak in nicht-modalen Dialog on Thu, 21 Dec 2006 09:59:45 GMT]]></title><description><![CDATA[<p>Die Fehlerbeschreibung klingt IMHO eher nach einem GDI-Ressourcenleck. Ist das der ganze Code von CDisplay?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195933</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Thu, 21 Dec 2006 09:59:45 GMT</pubDate></item><item><title><![CDATA[Reply to Memory Leak in nicht-modalen Dialog on Thu, 21 Dec 2006 10:09:03 GMT]]></title><description><![CDATA[<p>Also ein memory leak ist es nicht, hab ich mit CStoll's vorgeschlagener Methode überprüft.<br />
Nein das ist nicht der ganze Code. Ich kann ja mal aller posten, bis auf die serielle Kommunikation die noch darin steckt, die nehme ich aus platzgründen raus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195940</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195940</guid><dc:creator><![CDATA[maRKus23]]></dc:creator><pubDate>Thu, 21 Dec 2006 10:09:03 GMT</pubDate></item><item><title><![CDATA[Reply to Memory Leak in nicht-modalen Dialog on Thu, 21 Dec 2006 10:12:25 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">// Display.cpp : Implementierungsdatei
//

#include &quot;mainfrm.h&quot;
#include &quot;stdafx.h&quot;
#include &quot;Par.h&quot;
#include &quot;Display.h&quot;
#include &quot;.\display.h&quot;

// CDisplay-Dialogfeld

IMPLEMENT_DYNAMIC(CDisplay, CDialog)
CDisplay::CDisplay(CWnd* pParent /*=NULL*/)
	: CDialog(CDisplay::IDD, pParent)
	, CTest(_T(&quot;&quot;))
{

}

CDisplay::~CDisplay()
{

}

void CDisplay::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);

	DDX_Control(pDX, IDC_BTN_DISPLAY_CANCEL, m_btnCancel);
	DDX_Control(pDX, IDC_STATIC_DISPLAY1, m_StaticDisplay1);
	DDX_Control(pDX, IDC_STATIC_DISPLAY2, m_StaticDisplay2);
	DDX_Control(pDX, IDC_STATIC_DISPLAY3, m_StaticDisplay3);
	DDX_Control(pDX, IDC_STATIC_DISPLAY4, m_StaticDisplay4);
	DDX_Control(pDX, IDC_STATIC_DISPLAY5, m_StaticDisplay5);
	DDX_Control(pDX, IDC_STATIC_DISPLAY6, m_StaticDisplay6);
	DDX_Control(pDX, IDC_PICTURE_DISPLAY, m_PictureDisplay);
	DDX_Control(pDX, IDC_STATIC_LOWER_VALUE, m_Static_LowerValue);
	DDX_Control(pDX, IDC_STATIC_UPPER_VALUE, m_Static_UpperValue);
	DDX_Text(pDX, IDC_STATIC_DISPLAY4, CTest);
}

BEGIN_MESSAGE_MAP(CDisplay, CDialog)
	ON_WM_CTLCOLOR()
	ON_BN_CLICKED(IDC_BTN_DISPLAY_CANCEL, OnBnClickedBtnDisplayCancel)
END_MESSAGE_MAP()

// CDisplay-Meldungshandler

void CDisplay::OnBnClickedBtnDisplayCancel()
{
		OnCancel();
}

BOOL CDisplay::OnInitDialog()
{
	CDialog::OnInitDialog();

	m_font1.CreateFont(-16, 0, 0, 0, FW_BOLD, 0, 0, 0, 1, 0,
			0, 0, 0, _T(&quot;Arial&quot;));
	m_font2.CreateFont(-13, 0, 0, 0, FW_BOLD, 0, 0, 0, 1, 0,
			0, 0, 0, _T(&quot;Arial&quot;));
	m_StaticDisplay1.SetFont(&amp;m_font2);
	m_btnCancel.SetFont(&amp;m_font2);
	m_StaticDisplay2.SetFont(&amp;m_font2);
	m_StaticDisplay3.SetFont(&amp;m_font2);
	m_StaticDisplay4.SetFont(&amp;m_font2);
	m_StaticDisplay5.SetFont(&amp;m_font2);
	m_StaticDisplay6.SetFont(&amp;m_font1);
	m_Static_LowerValue.SetFont(&amp;m_font2);
	m_Static_UpperValue.SetFont(&amp;m_font2);

	return true;  
}

HBRUSH CDisplay::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
	hbr1 = CreateSolidBrush(RGB(253, 170, 130));
	hbr2 = CreateSolidBrush(RGB(238, 238, 220));

	if ((pWnd-&gt;GetDlgCtrlID()==IDC_STATIC_DISPLAY4) || 
		(pWnd-&gt;GetDlgCtrlID()==IDC_STATIC_DISPLAY5))
	{
		pDC-&gt;SetBkMode(TRANSPARENT);
		pDC-&gt;SetTextColor(RGB(0, 0, 0));
	    return hbr1;
	}
	if((pWnd-&gt;GetDlgCtrlID()==IDC_STATIC_DISPLAY1) ||
		(pWnd-&gt;GetDlgCtrlID()==IDC_STATIC_DISPLAY2) ||
		(pWnd-&gt;GetDlgCtrlID()==IDC_STATIC_DISPLAY3) ||
		(pWnd-&gt;GetDlgCtrlID()==IDC_STATIC_DISPLAY6) ||
		(pWnd-&gt;GetDlgCtrlID()==IDC_STATIC_LOWER_VALUE) ||
		(pWnd-&gt;GetDlgCtrlID()==IDC_STATIC_UPPER_VALUE))
	{
		pDC-&gt;SetBkMode(TRANSPARENT);
		pDC-&gt;SetTextColor(RGB(0, 0, 0));
	    return hbr2;
	}
	return hbr2;
}

void CDisplay::SetValueScale()
{
	char buffer[20];
	CString szLowerValue;
	CString szUpperValue;

	 _gcvt(fValueScale[0], 5, buffer);
	 szLowerValue = buffer;
	 m_Static_LowerValue.SetWindowText(szLowerValue);

	 _gcvt(fValueScale[1], 5, buffer);
	 szUpperValue = buffer;
	 m_Static_UpperValue.SetWindowText(szUpperValue);
}

/* Änderungen für nicht modales Fenster */
void CDisplay::InitialDialog(const CString&amp; strTitle)
{
	UpdateData (FALSE);
	SetWindowText(strTitle);
}

CDisplay* CDisplay::Instance(BOOL* bpCancel, CWnd* pParentWnd)
{
	BOOL bWOldState=FALSE;
	ASSERT(bpCancel!=NULL);
	if (bpCancel==NULL) return NULL;
	CDisplay* pWDlg = new CDisplay;

	if (pParentWnd==NULL) pWDlg-&gt;m_pParentWnd =  AfxGetApp()-&gt;m_pMainWnd; 	else 
	{
		pWDlg-&gt;m_pParentWnd = pParentWnd;
	}

	if (!pWDlg-&gt;Create(IDD_VIEW_DISPLAY, pWDlg-&gt;m_pParentWnd))
	{
		delete pWDlg;
		pWDlg=NULL;
		return NULL;
	}
	if (pWDlg-&gt;m_pParentWnd != NULL)
	  bWOldState = pWDlg-&gt;GetParentWnd()-&gt;EnableWindow(FALSE); 

	pWDlg-&gt;EnableWindow (TRUE);
	if (bWOldState) pWDlg-&gt;m_bOldEnableState=FALSE;
	else pWDlg-&gt;m_bOldEnableState=TRUE;

	pWDlg-&gt;m_pbCancel= bpCancel;
	pWDlg-&gt;ShowWindow(SW_SHOW);
	return pWDlg;
}

void CDisplay::Done()
{
	if (::IsWindow(GetSafeHwnd())) 
	{
		OnCancel();
	}
}

void CDisplay::OnCancel()
{
	notifyCancel();
	if (m_pParentWnd!=NULL) GetParentWnd()-&gt;EnableWindow(m_bOldEnableState);
	if (::IsWindow(GetSafeHwnd())) DestroyWindow();

}
void CDisplay::PostNcDestroy()
{
	CDialog::PostNcDestroy();
	delete this;
}

void CDisplay::OnCancelMode()
{
	CDialog::OnCancelMode();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1195945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195945</guid><dc:creator><![CDATA[maRKus23]]></dc:creator><pubDate>Thu, 21 Dec 2006 10:12:25 GMT</pubDate></item><item><title><![CDATA[Reply to Memory Leak in nicht-modalen Dialog on Thu, 21 Dec 2006 10:16:39 GMT]]></title><description><![CDATA[<p>Bei jedem Aufruf von OnCtlColor erstellst du zwei Brushs. Und irgendwann gehen Windows die Pinsel aus.</p>
<p>Es wäre besser, wenn du das nur einmal machst, und die Brushs auch wieder freigibst, wenn du sie nicht mehr brauchst (DeleteObject).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195946</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195946</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Thu, 21 Dec 2006 10:16:39 GMT</pubDate></item><item><title><![CDATA[Reply to Memory Leak in nicht-modalen Dialog on Thu, 21 Dec 2006 10:20:52 GMT]]></title><description><![CDATA[<p>Habs auch grad erkannt und geändert. Und siehe da, kaum macht mans richtig, funktionierts auch schon.<br />
Danke an MFK und CStoll!!! <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1195950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195950</guid><dc:creator><![CDATA[maRKus23]]></dc:creator><pubDate>Thu, 21 Dec 2006 10:20:52 GMT</pubDate></item></channel></rss>