<?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[Sauberste Möglichkeit Brush, Pen ... zu löschen]]></title><description><![CDATA[<p>Ich habe ein ActiveX geschrieben. Es ist allerdings noch sehr unsauber.<br />
Da die verwendeten Objecte wie Brush, Pen, DC noch nicht wieder freigegeben wurden. Weiß jemmand wie ich das am saubersten erledigen kann.</p>
<p>PS.Sollte ich eigentlich auch verwendete Variablen wieder freigeben die ich nicht mehr brauch ? Gibt es da eine Möglichkeit ?</p>
<p>MFG Ronny</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/47159/sauberste-möglichkeit-brush-pen-zu-löschen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Apr 2026 07:56:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/47159.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 27 Aug 2003 08:38:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Sauberste Möglichkeit Brush, Pen ... zu löschen on Wed, 27 Aug 2003 08:38:40 GMT]]></title><description><![CDATA[<p>Ich habe ein ActiveX geschrieben. Es ist allerdings noch sehr unsauber.<br />
Da die verwendeten Objecte wie Brush, Pen, DC noch nicht wieder freigegeben wurden. Weiß jemmand wie ich das am saubersten erledigen kann.</p>
<p>PS.Sollte ich eigentlich auch verwendete Variablen wieder freigeben die ich nicht mehr brauch ? Gibt es da eine Möglichkeit ?</p>
<p>MFG Ronny</p>
]]></description><link>https://www.c-plusplus.net/forum/post/341369</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/341369</guid><dc:creator><![CDATA[Ronny W]]></dc:creator><pubDate>Wed, 27 Aug 2003 08:38:40 GMT</pubDate></item><item><title><![CDATA[Reply to Sauberste Möglichkeit Brush, Pen ... zu löschen on Wed, 27 Aug 2003 11:01:16 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">CDC *dc = GetDC();

CPen pen(PS_SOLID,1,RGB(255,0,0));
CPen *oldpen = dc-&gt;SelectObject(&amp;pen);

CBrush brush(RGB(0,0,255));
CBrush *oldbrush = dc-&gt;SelectObject(&amp;brush);

//mach was ....

dc-&gt;SelectObject(oldbrush);
dc-&gt;SelectObject(oldpen);

ReleaseDC(dc);
</code></pre>
<p>bei SelectObject() bekommst du immer einen Zeiger auf das zuvor verwendete Object zurück.<br />
Wenn du deine CPen oder CBrush nicht mit new erzeugst dann verlieren Sie am ende deiner Funktion ihre Gültigkeit und es kann zu Problemen kommen fals später darauf zugegriffen wird.<br />
deshalb ist es am besten immer(in den meisten Fällen) die Zeiger auf die alten Objecte speichern und am ende wieder zurückgeben.</p>
<p>Wenn du eine Variable (Zeiger) mit <strong>new</strong> erzeugst dann mußt du sie am ende mit <strong>delete</strong> wieder freigeben ansonsten aber gilt eh die normale Lebensdauer einer Variable</p>
<p>MFG Sigi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/341473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/341473</guid><dc:creator><![CDATA[BigSigi]]></dc:creator><pubDate>Wed, 27 Aug 2003 11:01:16 GMT</pubDate></item></channel></rss>