<?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[Auf ein Objekt in einer TList zugreifen]]></title><description><![CDATA[<p>Hallo,</p>
<p>Wie kann ich auf Methoden des letzten, oder eines beliebigen, Objektes in einer Liste zugreifen?</p>
<p>Im Moment versuche ich es so (geht aber nicht <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="😉"
    /> ):</p>
<pre><code>TList *objekte = new TList();

AnsiString test = &quot;1234&quot;;
Ansistring *test1 = &amp;test;
objekte.Add(test1);

(objekte-&gt;Last()).Length();
</code></pre>
<p>Geht sowas ähnliches? Hat jemand ne Idee?</p>
<p>p.s.: Das ganze findet in Borland Turbo C++ statt.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/189741/auf-ein-objekt-in-einer-tlist-zugreifen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 17 Aug 2026 08:32:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/189741.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 16 Aug 2007 11:23:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Auf ein Objekt in einer TList zugreifen on Thu, 16 Aug 2007 11:29:58 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Wie kann ich auf Methoden des letzten, oder eines beliebigen, Objektes in einer Liste zugreifen?</p>
<p>Im Moment versuche ich es so (geht aber nicht <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="😉"
    /> ):</p>
<pre><code>TList *objekte = new TList();

AnsiString test = &quot;1234&quot;;
Ansistring *test1 = &amp;test;
objekte.Add(test1);

(objekte-&gt;Last()).Length();
</code></pre>
<p>Geht sowas ähnliches? Hat jemand ne Idee?</p>
<p>p.s.: Das ganze findet in Borland Turbo C++ statt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345663</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345663</guid><dc:creator><![CDATA[neffetS]]></dc:creator><pubDate>Thu, 16 Aug 2007 11:29:58 GMT</pubDate></item><item><title><![CDATA[Reply to Auf ein Objekt in einer TList zugreifen on Thu, 16 Aug 2007 11:29:21 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ja das &quot;geht&quot; <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="🙄"
    /> schon bei dem Add nicht. Einerseits must du auch hier den Pfeiloperator benutzen, und andereseits will TList einen void-Pointer, keinen AnsiString.<br />
Benutze statt desen lieber die C++ Container wie std::list oder std::vector. Da du wahrfreien Zugriff auf die Elemente haben willst solltest du std::vector nehmen, Listen haben per Definition keinen wahlfreien Zugriff.</p>
<pre><code class="language-cpp">#include &lt;vector&gt;

..
std::vector&lt;AnsiString&gt; strings;
strings.push_back(&quot;1234&quot;);
int x = strings[0].Length();
</code></pre>
<p>Weiteres zum Umgang mit C++ Containern findest du in den entsprechenden Magazin-Artikel hier im Forum.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345671</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345671</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 16 Aug 2007 11:29:21 GMT</pubDate></item><item><title><![CDATA[Reply to Auf ein Objekt in einer TList zugreifen on Thu, 16 Aug 2007 11:31:26 GMT]]></title><description><![CDATA[<p>das mit dem Add hab ich inzwischen korrigiert, ist mir aufgefallen.</p>
<p>Ok ich werds so versuchen, vielen Dank.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345677</guid><dc:creator><![CDATA[neffetS]]></dc:creator><pubDate>Thu, 16 Aug 2007 11:31:26 GMT</pubDate></item><item><title><![CDATA[Reply to Auf ein Objekt in einer TList zugreifen on Thu, 16 Aug 2007 13:09:20 GMT]]></title><description><![CDATA[<p>Irgendwie funktioniert alles bis auf das:</p>
<p>Der Vector speichert bisher Objekte meiner Klasse, diese Klasse fasst mehrere TEdit Felder zusammen. Ich kann mittels des vectors meine Klasse und damit auch die Felder ansprechen, jedoch kann ich sie nicht löschen. Die Edit Felder sind immer noch sichtbar auch nach einem &quot;.pop_back()&quot;, muss ich die Felder noch zusätzlich löschen? Wenn ja wie?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345762</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345762</guid><dc:creator><![CDATA[neffetS]]></dc:creator><pubDate>Thu, 16 Aug 2007 13:09:20 GMT</pubDate></item><item><title><![CDATA[Reply to Auf ein Objekt in einer TList zugreifen on Thu, 16 Aug 2007 13:17:57 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>std::vector verwaltet den Speicher seiner Elemente. In deinem Fall den deiner Klasse. Da aber deine Klasse mit sicherheit einen Pointer auf ein TEdit-Control hat wird diese Instanz hinter dem Pointer nicht automatisch gelöscht.<br />
Theoretisch könntest du den Destruktor deiner Klasse benutzen um das Control zu löschen, aber dann bekommst du Probleme wenn die Instanzen der Klasse kopiert werden müßen (was in einem vector vorkommen kann).<br />
Als einfachstes löscht du das Control direkt vor dem pop_back manuel.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345774</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345774</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 16 Aug 2007 13:17:57 GMT</pubDate></item><item><title><![CDATA[Reply to Auf ein Objekt in einer TList zugreifen on Thu, 16 Aug 2007 13:26:26 GMT]]></title><description><![CDATA[<p>ja wenn ich den Destructor von den Feldern im Destructor meiner Klasse aufrufe bekomm ich nen Fehler.</p>
<p>Aber wie soll ich die Edit Felder löschen? Eine Methode geht genausowenig wie der Destructor oder? Die Felder sind natürlich Private da kann ich nicht direkt drauf zugreifen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345782</guid><dc:creator><![CDATA[neffetS]]></dc:creator><pubDate>Thu, 16 Aug 2007 13:26:26 GMT</pubDate></item><item><title><![CDATA[Reply to Auf ein Objekt in einer TList zugreifen on Thu, 16 Aug 2007 13:29:54 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Dann gib deiner Klasse eben noch eine Methode DeleteEdit(), die nicht weiter macht als das Control zu löschen. Die rufst du vor dem pop_back auf</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345785</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 16 Aug 2007 13:29:54 GMT</pubDate></item><item><title><![CDATA[Reply to Auf ein Objekt in einer TList zugreifen on Thu, 16 Aug 2007 13:38:43 GMT]]></title><description><![CDATA[<p>ich steh etwas auf dem schlauch, was meinst du mit Control?</p>
<p>sorry ich glaub langsam bist du am durchdrehen.... (wegen mir mein ich ^^)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345789</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345789</guid><dc:creator><![CDATA[neffetS]]></dc:creator><pubDate>Thu, 16 Aug 2007 13:38:43 GMT</pubDate></item><item><title><![CDATA[Reply to Auf ein Objekt in einer TList zugreifen on Thu, 16 Aug 2007 13:43:26 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Dein &quot;Edit Feld&quot; ist von TControl abgeleitet, deshalb hab ich es Control genannt weil das Prinzip auch für alle andern Controls gleich wäre.</p>
<pre><code class="language-cpp">class MyClass
{
  public :
    void DeleteEdit(); // Methode zum Löschen
  private :
  ...
    TEdit* m_control; // Interner Pointer

};

void MyClass::DeleteEdit()
{
  delete m_control;
}
...
// Wenn Element aus vector entfernt wird erst das Edit-Control löschen
objects.back().DeleteEdit();
objects.pop_back();
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345798</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 16 Aug 2007 13:43:26 GMT</pubDate></item><item><title><![CDATA[Reply to Auf ein Objekt in einer TList zugreifen on Thu, 16 Aug 2007 13:45:39 GMT]]></title><description><![CDATA[<p>Vielen Dank für die Erklärung und sorry für meine andauernde Fragerei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345805</guid><dc:creator><![CDATA[neffetS]]></dc:creator><pubDate>Thu, 16 Aug 2007 13:45:39 GMT</pubDate></item></channel></rss>