<?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[Fehler beim Füllen von ListView]]></title><description><![CDATA[<p>Hi!</p>
<p>Weiß jemand, woran es liegen könnte, dass ich beim Füllen eines ListViews mit LVITEMs durch ListView_InsertItem(), nach ca. 3 Items (mal mehr, mal weniger) eine std::bad_alloc Exception bekomme?</p>
<p>Gruß veryxRV</p>
<p>EDIT: Das LVITEM bekommt natürlich auch einen Text zugeordnet. Dieser Text ist die Ausgabe einer Funktion. Mir ist aufgefallen, dass die o.g. Exception nur dann eintritt, wenn der Name eine bestimmte Länge an Zeichen hat.</p>
<p>Sorry, aber der Code ist etwas zu verzweigt um ihn zu posten. Wäre gut, wenn mir auch vorerst so jemand helfen könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/192227/fehler-beim-füllen-von-listview</link><generator>RSS for Node</generator><lastBuildDate>Wed, 01 Jul 2026 00:32:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/192227.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 11 Sep 2007 20:26:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehler beim Füllen von ListView on Tue, 11 Sep 2007 20:30:18 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Weiß jemand, woran es liegen könnte, dass ich beim Füllen eines ListViews mit LVITEMs durch ListView_InsertItem(), nach ca. 3 Items (mal mehr, mal weniger) eine std::bad_alloc Exception bekomme?</p>
<p>Gruß veryxRV</p>
<p>EDIT: Das LVITEM bekommt natürlich auch einen Text zugeordnet. Dieser Text ist die Ausgabe einer Funktion. Mir ist aufgefallen, dass die o.g. Exception nur dann eintritt, wenn der Name eine bestimmte Länge an Zeichen hat.</p>
<p>Sorry, aber der Code ist etwas zu verzweigt um ihn zu posten. Wäre gut, wenn mir auch vorerst so jemand helfen könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363659</guid><dc:creator><![CDATA[veryxRV]]></dc:creator><pubDate>Tue, 11 Sep 2007 20:30:18 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Füllen von ListView on Tue, 11 Sep 2007 20:41:41 GMT]]></title><description><![CDATA[<p>veryxRV schrieb:</p>
<blockquote>
<p>Hi!</p>
<p>Weiß jemand, woran es liegen könnte, dass ich beim Füllen eines ListViews mit LVITEMs durch ListView_InsertItem(), nach ca. 3 Items (mal mehr, mal weniger) eine std::bad_alloc Exception bekomme?</p>
</blockquote>
<p>Ja, weil du einen Fehler gemacht hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363677</guid><dc:creator><![CDATA[tenchou]]></dc:creator><pubDate>Tue, 11 Sep 2007 20:41:41 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Füllen von ListView on Wed, 12 Sep 2007 11:32:28 GMT]]></title><description><![CDATA[<p>Danke, noch jemand einen konstruktiven Vorschlag?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363945</guid><dc:creator><![CDATA[veryxRV]]></dc:creator><pubDate>Wed, 12 Sep 2007 11:32:28 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Füllen von ListView on Wed, 12 Sep 2007 12:08:53 GMT]]></title><description><![CDATA[<p>Ich kan auch nur wiederholen: Du hast einen Fehler gemacht. Vermutlich überschreibst Du Speicher.<br />
Es ist reichlich vermessen anzunehmen, dass man irgendwas sagen könnte ohne den Code zu sehen.</p>
<p>Ich habe eine Kristallkugel, aber die steht zu Hause auf der Fensterbank... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363969</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363969</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 12 Sep 2007 12:08:53 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Füllen von ListView on Wed, 12 Sep 2007 13:31:09 GMT]]></title><description><![CDATA[<p>Na das mit dem Speicher gibt mir zumindest einen kleinen Ansatz, 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>
<p>Übrigens tritt der Fehler nur auf, wenn die lpszText Variable des LVITEM &gt;= 23 Zeichen ist.</p>
<p>EDIT: Da ich jetzt einige Code Zeilen ausschließen konnte, hier doch mal ein Code Beispiel:</p>
<pre><code class="language-cpp">LVITEM lvi;
		ZeroMemory(&amp;lvi, sizeof(LVITEM));
		//lvi.cchTextMax	= strlen(cj.GetFilename()+1); // &lt;&lt;&lt; alterFehler
		lvi.mask		= LVIF_TEXT;
		lvi.pszText		= cj.GetFilename();// &lt;&lt; Jetzt hier Fehler
</code></pre>
<p>An der markierten Stelle tritt der Fehler auf. Wahrscheinlich bekommt er Probleme, wenn er die dort bestimmte Speichermenge reservieren will.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1364000</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1364000</guid><dc:creator><![CDATA[veryxRV]]></dc:creator><pubDate>Wed, 12 Sep 2007 13:31:09 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Füllen von ListView on Wed, 12 Sep 2007 14:18:07 GMT]]></title><description><![CDATA[<p>Ich habe gerade gelesen, dass dieser Parameter in diesem Fall gar nicht benötigt wird. Habe oben mal die Stelle geändert, an der nun der Fehler auftritt.</p>
<p>GELÖST: Der Fehler war ein ganz blöder, aber nicht so leicht zu finden. In einer anderen Funktion stand folgendes:</p>
<pre><code class="language-cpp">char * cFilename;

strTemp = fHandler.CutPathToFile(strTemp);

cFilename = new char[sizeof(strTemp.c_str())]; // sizeof dummerweise mit strlen verwechselt, das hat den Crash verursacht
sprintf(cFilename, &quot;%s&quot;, strTemp.c_str());
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1364022</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1364022</guid><dc:creator><![CDATA[veryxRV]]></dc:creator><pubDate>Wed, 12 Sep 2007 14:18:07 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Füllen von ListView on Wed, 12 Sep 2007 14:48:55 GMT]]></title><description><![CDATA[<p>veryxRV schrieb:</p>
<blockquote>
<pre><code class="language-cpp">char * cFilename;
	
strTemp = fHandler.CutPathToFile(strTemp);

cFilename = new char[sizeof(strTemp.c_str())]; // sizeof dummerweise mit strlen verwechselt, das hat den Crash verursacht
sprintf(cFilename, &quot;%s&quot;, strTemp.c_str());
</code></pre>
</blockquote>
<p>Warum bemühst Du sprintf um Daten zu kopieren.<br />
Ansonsten kannst Du auch strdup verwenden um das zu machen, was Du hier tust...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1364080</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1364080</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 12 Sep 2007 14:48:55 GMT</pubDate></item></channel></rss>