<?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[Speicherleck]]></title><description><![CDATA[<p>Hallo,</p>
<p>mein Programm hat ein Speicherleck und ich konnte dieses bislang auf diesen Code eingrenzen, da weiß ich allerdings nicht mehr weiter:</p>
<pre><code class="language-cpp">CoInitialize(NULL); 
	string strTemp;
	if(hInst!=NULL)
	{
		UINT msg;
		CComPtr&lt;IHTMLDocument2&gt; spDoc;
		LRESULT lRes;
		msg = RegisterWindowMessage(_T(&quot;WM_HTML_GETOBJECT&quot;));
		SendMessageTimeout(IE_hwnd, msg, 0L, 0L, SMTO_ABORTIFHUNG, 1000, (DWORD*)&amp;lRes); 
		LPFNOBJECTFROMLRESULT pfObjectFromLresult=(LPFNOBJECTFROMLRESULT)::GetProcAddress(hInst,LPCSTR(&quot;ObjectFromLresult&quot;));
		if ( pfObjectFromLresult != NULL )
			{
				HRESULT hr;
				hr = (*pfObjectFromLresult)( lRes, IID_IHTMLDocument2, 0, (void**)&amp;spDoc );
				if ( SUCCEEDED(hr) )
				{
					//CComPtr&lt;IDispatch&gt; spDisp;
					 CComPtr&lt;IHTMLElement&gt; pHTMLElement;
					 hr=spDoc-&gt;get_body(&amp;pHTMLElement);
					 BSTR bstrText;
					 pHTMLElement-&gt;get_innerText(&amp;bstrText);
					 strTemp=(char *)_bstr_t(bstrText);
					 pHTMLElement.Release();

				}
			}

	}
	CoUninitialize(); 
	return strTemp;
</code></pre>
<p>Muss da noch irgendwas released werden? ist das pHTMLElement.Release(); überhaupt richtig?</p>
<p>danke im voraus</p>
<p>veio</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/209298/speicherleck</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Apr 2026 10:35:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/209298.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 28 Mar 2008 19:20:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Speicherleck on Fri, 28 Mar 2008 19:20:22 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>mein Programm hat ein Speicherleck und ich konnte dieses bislang auf diesen Code eingrenzen, da weiß ich allerdings nicht mehr weiter:</p>
<pre><code class="language-cpp">CoInitialize(NULL); 
	string strTemp;
	if(hInst!=NULL)
	{
		UINT msg;
		CComPtr&lt;IHTMLDocument2&gt; spDoc;
		LRESULT lRes;
		msg = RegisterWindowMessage(_T(&quot;WM_HTML_GETOBJECT&quot;));
		SendMessageTimeout(IE_hwnd, msg, 0L, 0L, SMTO_ABORTIFHUNG, 1000, (DWORD*)&amp;lRes); 
		LPFNOBJECTFROMLRESULT pfObjectFromLresult=(LPFNOBJECTFROMLRESULT)::GetProcAddress(hInst,LPCSTR(&quot;ObjectFromLresult&quot;));
		if ( pfObjectFromLresult != NULL )
			{
				HRESULT hr;
				hr = (*pfObjectFromLresult)( lRes, IID_IHTMLDocument2, 0, (void**)&amp;spDoc );
				if ( SUCCEEDED(hr) )
				{
					//CComPtr&lt;IDispatch&gt; spDisp;
					 CComPtr&lt;IHTMLElement&gt; pHTMLElement;
					 hr=spDoc-&gt;get_body(&amp;pHTMLElement);
					 BSTR bstrText;
					 pHTMLElement-&gt;get_innerText(&amp;bstrText);
					 strTemp=(char *)_bstr_t(bstrText);
					 pHTMLElement.Release();

				}
			}

	}
	CoUninitialize(); 
	return strTemp;
</code></pre>
<p>Muss da noch irgendwas released werden? ist das pHTMLElement.Release(); überhaupt richtig?</p>
<p>danke im voraus</p>
<p>veio</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1482385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1482385</guid><dc:creator><![CDATA[veio]]></dc:creator><pubDate>Fri, 28 Mar 2008 19:20:22 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherleck on Sat, 29 Mar 2008 00:38:49 GMT]]></title><description><![CDATA[<p>Bin gerade auf die grandiose Idee gekommen, das einfach weiter aus zu kommentieren und zu testen, ob das speicherleck weg ist.</p>
<p>pHTMLElement-&gt;get_innerText(&amp;bstrText);</p>
<p>löst das speicherleck wohl aus.<br />
Wie gebe ich den Speicher korrekt wieder frei?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1482388</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1482388</guid><dc:creator><![CDATA[veio]]></dc:creator><pubDate>Sat, 29 Mar 2008 00:38:49 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherleck on Fri, 28 Mar 2008 21:44:36 GMT]]></title><description><![CDATA[<p>Ich schätze einfach mal, dass get_innerText Speicher für Dein BSTR (bstrText) alloziert und Du diesen freigeben musst (SysFreeString).<br />
Evtl. kannst Du auch CComPtr dafür verwenden, damit Du Dich selbst nicht um die Freigabe kümmern brauchst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1482431</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1482431</guid><dc:creator><![CDATA[Airdamn]]></dc:creator><pubDate>Fri, 28 Mar 2008 21:44:36 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherleck on Fri, 28 Mar 2008 21:55:26 GMT]]></title><description><![CDATA[<p>Und wie gebe ich den Speicher wieder frei? Tut mir leid, bin da nicht so bewandert <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="😞"
    /><br />
edit: hm sysfreestring stand da eben doch noch net :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1482443</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1482443</guid><dc:creator><![CDATA[veio]]></dc:creator><pubDate>Fri, 28 Mar 2008 21:55:26 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherleck on Fri, 28 Mar 2008 21:58:46 GMT]]></title><description><![CDATA[<p>Stimmt, habs noch hinzugefügt <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 />
Funktionierts denn?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1482447</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1482447</guid><dc:creator><![CDATA[Airdamn]]></dc:creator><pubDate>Fri, 28 Mar 2008 21:58:46 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherleck on Sat, 29 Mar 2008 00:11:32 GMT]]></title><description><![CDATA[<p>super, es klappt, danke <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/1482489</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1482489</guid><dc:creator><![CDATA[veio]]></dc:creator><pubDate>Sat, 29 Mar 2008 00:11:32 GMT</pubDate></item></channel></rss>