<?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[Heap Corruption beim Aufruf von delete[]]]></title><description><![CDATA[<p>Hallo,</p>
<p>mein Problem ist, dass ich beim freigeben der Arrays ein Heap Corruption bekomme. Das komische dabei ist, dass dies nur bei 1 von 2 Variablen auftritt</p>
<p>Hier der Code:</p>
<pre><code>char *charType = new char[GetWindowTextLength(hWndComboboxR)+1];
char *charR = new char[GetWindowTextLength(hWndComboboxType)+1];
ComboBox_GetText(hWndComboboxType, charType, strlen(charType)+1);
ComboBox_GetText(hWndComboboxR, charR, strlen(charR)+1);

//Code... 

//Speicher freigeben
delete[] charType;
delete[] charR;  //Heap Corruption
</code></pre>
<p>Die API-Funktionen seien mal außer Acht gelassen, denn die Funktionieren problemlos. Die länge, sowie der Inhalt des Char-Arrays sind so, wie sie sein sollten.</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/327478/heap-corruption-beim-aufruf-von-delete</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Jul 2026 13:32:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/327478.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 14 Aug 2014 09:05:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Heap Corruption beim Aufruf von delete[] on Thu, 14 Aug 2014 09:05:02 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>mein Problem ist, dass ich beim freigeben der Arrays ein Heap Corruption bekomme. Das komische dabei ist, dass dies nur bei 1 von 2 Variablen auftritt</p>
<p>Hier der Code:</p>
<pre><code>char *charType = new char[GetWindowTextLength(hWndComboboxR)+1];
char *charR = new char[GetWindowTextLength(hWndComboboxType)+1];
ComboBox_GetText(hWndComboboxType, charType, strlen(charType)+1);
ComboBox_GetText(hWndComboboxR, charR, strlen(charR)+1);

//Code... 

//Speicher freigeben
delete[] charType;
delete[] charR;  //Heap Corruption
</code></pre>
<p>Die API-Funktionen seien mal außer Acht gelassen, denn die Funktionieren problemlos. Die länge, sowie der Inhalt des Char-Arrays sind so, wie sie sein sollten.</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2413413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2413413</guid><dc:creator><![CDATA[fragenFrager]]></dc:creator><pubDate>Thu, 14 Aug 2014 09:05:02 GMT</pubDate></item><item><title><![CDATA[Reply to Heap Corruption beim Aufruf von delete[] on Thu, 14 Aug 2014 09:08:10 GMT]]></title><description><![CDATA[<p>Nutz std::vector.<br />
Dein Problem ist, dass das strlen in Zeile 3 und 4 einen falschen Wert zurückgibt und deshalb die API-Funktion wohl irgendwelche Heapverwaltungsstrukturen kaputtschreibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2413415</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2413415</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Thu, 14 Aug 2014 09:08:10 GMT</pubDate></item><item><title><![CDATA[Reply to Heap Corruption beim Aufruf von delete[] on Thu, 14 Aug 2014 09:18:09 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Danke für die schnelle Antwort.</p>
<p>Genau an strlen() lags. Hätte ich mir denken können... <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="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2413420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2413420</guid><dc:creator><![CDATA[fragenFrager]]></dc:creator><pubDate>Thu, 14 Aug 2014 09:18:09 GMT</pubDate></item><item><title><![CDATA[Reply to Heap Corruption beim Aufruf von delete[] on Fri, 15 Aug 2014 17:12:35 GMT]]></title><description><![CDATA[<p>Der Code ist vor allem nicht sicher. Was, wenn sich der Text (und somit die Länge) vom <code>GetWindowTextLength</code> Aufruf zum <code>ComboBox_GetText</code> Aufruf ändert? Unwahrscheinlich, aber möglich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2413639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2413639</guid><dc:creator><![CDATA[theliquidwave]]></dc:creator><pubDate>Fri, 15 Aug 2014 17:12:35 GMT</pubDate></item><item><title><![CDATA[Reply to Heap Corruption beim Aufruf von delete[] on Fri, 15 Aug 2014 19:48:07 GMT]]></title><description><![CDATA[<p>Glaub ich nicht. Kannst ja zum Testen mal zwischen den beiden Instruktionen ein Sleep(5000); einbauen. Ich glaube, in dieser Zeit wird die GUI nicht reagieren und nicht bedienbar sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2413650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2413650</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Fri, 15 Aug 2014 19:48:07 GMT</pubDate></item></channel></rss>