<?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[Der Index der Liste überschreitet das Maximum (0)]]></title><description><![CDATA[<p>Hallo zusammen, eine dumme Frage:</p>
<p>Ich habe eine App, in der ich zwei Stringlisten verwalte.</p>
<pre><code class="language-cpp">MyClass::MyClass():TForm()
{
  Values = new TStringList;
  Keywords = new TStringList;

  Values-&gt;Add (&quot;Irgendwas 1&quot;)
  ...
  Values-&gt;Add (&quot;Irgendwas 10&quot;)

  Keywords-&gt;Add (&quot;Irgendwas anderes 1&quot;)
  ...
  Keywords-&gt;Add (&quot;Irgendwas anderes 10&quot;)
</code></pre>
<p>Das hat ungefähr 1000x funktioniert, dann kam auf einmal o.g. Fehlernmeldung.<br />
Jetzt setze ich zuerstmal Capacity beider Listen auf einen Wert &gt; 0 und dann geht es.</p>
<pre><code class="language-cpp">MyClass::MyClass():TForm()
{
  Values = new TStringList;
  Keywords = new TStringList;

  Values.Capacity = 20;
  Keywords.Capacity = 20;

  Values-&gt;Add (&quot;Irgendwas 1&quot;)
  ...
  Values-&gt;Add (&quot;Irgendwas 10&quot;)

  Keywords-&gt;Add (&quot;Irgendwas anderes 1&quot;)
  ...
  Keywords-&gt;Add (&quot;Irgendwas anderes 10&quot;)
</code></pre>
<p>Meine Frage: Weiß jemand warum das so ist? Ich denke, .Add() erhöht .Capacity automatisch. Den Fehler sollte es dann doch gar nicht geben.</p>
<p>Was ist mein Denkfehler?</p>
<p>Vielen Dank + Gruß<br />
Thomas</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/148884/der-index-der-liste-überschreitet-das-maximum-0</link><generator>RSS for Node</generator><lastBuildDate>Thu, 06 Aug 2026 19:47:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/148884.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 31 May 2006 12:49:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Der Index der Liste überschreitet das Maximum (0) on Wed, 31 May 2006 12:49:55 GMT]]></title><description><![CDATA[<p>Hallo zusammen, eine dumme Frage:</p>
<p>Ich habe eine App, in der ich zwei Stringlisten verwalte.</p>
<pre><code class="language-cpp">MyClass::MyClass():TForm()
{
  Values = new TStringList;
  Keywords = new TStringList;

  Values-&gt;Add (&quot;Irgendwas 1&quot;)
  ...
  Values-&gt;Add (&quot;Irgendwas 10&quot;)

  Keywords-&gt;Add (&quot;Irgendwas anderes 1&quot;)
  ...
  Keywords-&gt;Add (&quot;Irgendwas anderes 10&quot;)
</code></pre>
<p>Das hat ungefähr 1000x funktioniert, dann kam auf einmal o.g. Fehlernmeldung.<br />
Jetzt setze ich zuerstmal Capacity beider Listen auf einen Wert &gt; 0 und dann geht es.</p>
<pre><code class="language-cpp">MyClass::MyClass():TForm()
{
  Values = new TStringList;
  Keywords = new TStringList;

  Values.Capacity = 20;
  Keywords.Capacity = 20;

  Values-&gt;Add (&quot;Irgendwas 1&quot;)
  ...
  Values-&gt;Add (&quot;Irgendwas 10&quot;)

  Keywords-&gt;Add (&quot;Irgendwas anderes 1&quot;)
  ...
  Keywords-&gt;Add (&quot;Irgendwas anderes 10&quot;)
</code></pre>
<p>Meine Frage: Weiß jemand warum das so ist? Ich denke, .Add() erhöht .Capacity automatisch. Den Fehler sollte es dann doch gar nicht geben.</p>
<p>Was ist mein Denkfehler?</p>
<p>Vielen Dank + Gruß<br />
Thomas</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068771</guid><dc:creator><![CDATA[Tahsmo]]></dc:creator><pubDate>Wed, 31 May 2006 12:49:55 GMT</pubDate></item><item><title><![CDATA[Reply to Der Index der Liste überschreitet das Maximum (0) on Wed, 31 May 2006 13:19:14 GMT]]></title><description><![CDATA[<p>Eigentlich sollte das funktionieren. Ich verwende gerne und intensiv TStringList-Obejkte mit bis zu etlichen tausend Objekten und habe einen solchen Fehler noch nicht gehabt. Ich denke der Fehler liegt an einer anderen Stelle. Welche Zeile wird Dir beim Fehler angezeigt? Schon mal mit dem Debugger durchgegangen?</p>
<pre><code class="language-cpp">Values.Capacity = 20;
Keywords.Capacity = 20;
</code></pre>
<p>Das ist allerdings komplett falsch und kann nicht funktionieren. Dabei solltest Du bereits einen Compiler-Fehler bekommen (E2294).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068798</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 31 May 2006 13:19:14 GMT</pubDate></item><item><title><![CDATA[Reply to Der Index der Liste überschreitet das Maximum (0) on Wed, 31 May 2006 13:44:16 GMT]]></title><description><![CDATA[<p>Dieser Fehelr tritt normalerweise dann auf, wenn man versucht auf eine leere Liste zuzugreifen. Hast du die Liste zwischendurch mal gelöscht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068820</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 31 May 2006 13:44:16 GMT</pubDate></item><item><title><![CDATA[Reply to Der Index der Liste überschreitet das Maximum (0) on Wed, 31 May 2006 15:16:29 GMT]]></title><description><![CDATA[<p>Danke für die Antworten bis hierhin.</p>
<p>Ich benutze den Builder nur gelegentlich. Möglicherweise mache ich deshalb einen Fehler:</p>
<p>Ich greife auf die StringListe in der OnShow-Routine des Haupt-Formulars zu. Ist es möglich, dass bei Aufruf von OnShow des Haupt-Fomulars noch nicht die Konstruktoren aller weiteren (automatisch erstellten) Dialoge durchlaufen sind?</p>
<p>@Joe_M: Ja, ich benutze den Debugger. Die Exception wird beim ersten Aufruf von Keywords.Add() geworfen. Im Konstruktor ist das der erste Zugriff auf &quot;Keywords&quot; nach dem new TStringList. Es sei denn s.o.</p>
<p>Danke Euch nochmals</p>
<p>Gruß<br />
Tahsmo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068889</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068889</guid><dc:creator><![CDATA[Tahsmo]]></dc:creator><pubDate>Wed, 31 May 2006 15:16:29 GMT</pubDate></item><item><title><![CDATA[Reply to Der Index der Liste überschreitet das Maximum (0) on Wed, 31 May 2006 15:29:04 GMT]]></title><description><![CDATA[<p>In der OnShow ist der Konstruktor des Forms bereits abgearbeitet.<br />
Ich vermute, Du greifst auf eine nicht initialisierte TStringList, respektive nicht gefüllte TStringList zu. Vielleicht hast Du irgendwo einen Logikfehler drin und greifst auf eine andere StringList zu, als Du wolltest.</p>
<p>Ich würde gern mal den Konstruktor des Forms und die OnShow sehen.</p>
<p>[EDIT:] Keywords.Add kann nicht funktionieren! Eine TStringList MUSS mit new erzeugt werden, erog Keywords-&gt;Add</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068900</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 31 May 2006 15:29:04 GMT</pubDate></item><item><title><![CDATA[Reply to Der Index der Liste überschreitet das Maximum (0) on Wed, 31 May 2006 15:51:47 GMT]]></title><description><![CDATA[<p>Sorry, ich hab' mich doch wohl etwas zu knapp ausgedrückt.</p>
<p>Also ich erzeuge die Instanzen natürlich zuerst mit new. Und der erste Zugriff <strong>danach</strong> ist ein Add(). Und das wiederum sollte ja auf eine leere Liste erlaubt sein.</p>
<p>Der Konstruktor macht nichts anderes, als ich im ersten Beitrag angegeben habe. Nur die Strings heißen anders und es sind jeweils 10. Einfacher geht's nicht. Zerstört (Clear()) und gelöscht werden beide Listen in OnDestroy. Das dürfte eigentlich auch sicher sein.</p>
<p>Ich glaube aber, du hast trotzdem recht. Ich werde jetzt noch mal daran gehen, die Reihenfolge der Konstruktion und Benutzung zu überprüfen. Es wird schon so sein, dass ich da noch was nicht im Überblick habe.</p>
<p>Danke + Gruß +<br />
einen schönen Abend wünscht<br />
Tahsmo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068935</guid><dc:creator><![CDATA[Tahsmo]]></dc:creator><pubDate>Wed, 31 May 2006 15:51:47 GMT</pubDate></item></channel></rss>