<?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[prob mit AnsiString bei einer selbstgebastelten template]]></title><description><![CDATA[<p>hola leute</p>
<p>folgende prob:</p>
<p>ich hab mich heute einbisschen in templates probiert.<br />
als erstes hab ich mir so nen 08/15 vector gebastelt.<br />
funktioniert ansich recht gut, aber bei den AnsiStrings will er nicht.<br />
da bekomme ich immer einen zugriffsfehler. nachdem es also mit borland-kompos die probleme gibt hab ich mich nicht ins C++ sondern hierher gewannt.</p>
<p>mal bisschen code:</p>
<pre><code class="language-cpp">void __fastcall TForm1::Button1Click(TObject *Sender)
{
   TxlVector&lt;AnsiString&gt; test;
   test.AddEmptyObject() = &quot;Meep Meep&quot;;
   test.AddEmptyObject() = &quot;Meep Meep&quot;;  // (1)

   ShowMessage(test[0] + test[1]);
}
</code></pre>
<p>hier teste ich das mit nem button aus. bei (1) kommt der fehler:<br />
Zugriffsverletzung bei Adresse bla bla bla. Lesen von Adresse 00000012. bla bla</p>
<pre><code class="language-cpp">template &lt;class object&gt;
object&amp; TxlVector&lt;object&gt;::AddEmptyObject(void)
{
   if(!vector_list)
   {
      vector_list = new object[1];
      vector_size = ++vector_count;
   }
   else
   {
      if(vector_count &lt; vector_size)
      {
         ++vector_count;
      }
      else
      {
         vector_size = ++vector_count;
         object *temp = new object[vector_size];
         CopyBuffer(temp,vector_list,sizeof(object) * vector_size);
         delete[] vector_list;
         vector_list = temp;
      }
   }

   return vector_list[vector_count - 1];
}
</code></pre>
<p>das is dann die methode die oben aufgerufen wurde. der fehler kommt in der return anweisung.<br />
kann mir jemand sagen wo ich da den fehler habe ? vielleicht seh ich mal wieder vor lauter baeume den wald nicht mehr.</p>
<p>cermy</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/74543/prob-mit-ansistring-bei-einer-selbstgebastelten-template</link><generator>RSS for Node</generator><lastBuildDate>Sat, 27 Jun 2026 23:13:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/74543.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 21 May 2004 19:19:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to prob mit AnsiString bei einer selbstgebastelten template on Fri, 21 May 2004 19:19:18 GMT]]></title><description><![CDATA[<p>hola leute</p>
<p>folgende prob:</p>
<p>ich hab mich heute einbisschen in templates probiert.<br />
als erstes hab ich mir so nen 08/15 vector gebastelt.<br />
funktioniert ansich recht gut, aber bei den AnsiStrings will er nicht.<br />
da bekomme ich immer einen zugriffsfehler. nachdem es also mit borland-kompos die probleme gibt hab ich mich nicht ins C++ sondern hierher gewannt.</p>
<p>mal bisschen code:</p>
<pre><code class="language-cpp">void __fastcall TForm1::Button1Click(TObject *Sender)
{
   TxlVector&lt;AnsiString&gt; test;
   test.AddEmptyObject() = &quot;Meep Meep&quot;;
   test.AddEmptyObject() = &quot;Meep Meep&quot;;  // (1)

   ShowMessage(test[0] + test[1]);
}
</code></pre>
<p>hier teste ich das mit nem button aus. bei (1) kommt der fehler:<br />
Zugriffsverletzung bei Adresse bla bla bla. Lesen von Adresse 00000012. bla bla</p>
<pre><code class="language-cpp">template &lt;class object&gt;
object&amp; TxlVector&lt;object&gt;::AddEmptyObject(void)
{
   if(!vector_list)
   {
      vector_list = new object[1];
      vector_size = ++vector_count;
   }
   else
   {
      if(vector_count &lt; vector_size)
      {
         ++vector_count;
      }
      else
      {
         vector_size = ++vector_count;
         object *temp = new object[vector_size];
         CopyBuffer(temp,vector_list,sizeof(object) * vector_size);
         delete[] vector_list;
         vector_list = temp;
      }
   }

   return vector_list[vector_count - 1];
}
</code></pre>
<p>das is dann die methode die oben aufgerufen wurde. der fehler kommt in der return anweisung.<br />
kann mir jemand sagen wo ich da den fehler habe ? vielleicht seh ich mal wieder vor lauter baeume den wald nicht mehr.</p>
<p>cermy</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/524866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/524866</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Fri, 21 May 2004 19:19:18 GMT</pubDate></item></channel></rss>