<?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[Objekte eines TreeView wieder abbauen]]></title><description><![CDATA[<p>Hi,<br />
ich habe ein Problem. Ich arbeite mit dem BCB6 und habe mir einen Tree mit Objekten gemäß der Hilfe des BCB gemacht.</p>
<pre><code class="language-cpp">typedef struct MyRec
{
  AnsiString FName, LName;

} TMyRec;
typedef TMyRec* PMyRec;

void __fastcall TForm1::Button1Click(TObject *Sender)
{
PMyRec  MyRecPtr;
int TreeViewIndex;
TTreeNodes* pItems;

 MyRecPtr = new TMyRec;
 MyRecPtr-&gt;FName = Edit1-&gt;Text;
 MyRecPtr-&gt;LName = Edit2-&gt;Text;
 TreeViewIndex = StrToInt(Edit3-&gt;Text);
 pItems = TreeView1-&gt;Items;
 if (pItems-&gt;Count == 0)
   pItems-&gt;AddObject(NULL, &quot;Item&quot; + IntToStr(TreeViewIndex), MyRecPtr);
 else if ((TreeViewIndex &lt; pItems-&gt;Count) &amp;&amp; (TreeViewIndex &gt;= 0))

      pItems-&gt;AddObject(pItems-&gt;Item[TreeViewIndex], &quot;Item&quot; + IntToStr(TreeViewIndex), MyRecPtr);
}
</code></pre>
<p>Jetzt zu meinem Problem.<br />
Wie bekomme ich die Objekte wenn sie nichtmehr benötigt werden wieder abgebaut?<br />
Ich hatte mir das so vorgestellt, dass ich einem Vector alle Adressen von MyRecPtr sammeln lasse, und wenn die Objekte nichtmehr benötigt werden, mit delete abbaue.<br />
Leider hapert es in der Praxis.<br />
Ich mache über</p>
<pre><code class="language-cpp">vector&lt;TMyRec*&gt; Adressen;
</code></pre>
<p>meinen Vector.<br />
Danach hinter dem new</p>
<pre><code class="language-cpp">Adressen.push_back(MyRecPtr);
</code></pre>
<p>lasse ich Ihn sammeln. Das funktioniert aber alles nicht. Kann mir da jemand einen denkanstoss geben?</p>
<p>Danke</p>
<p>CU Carsten</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/181773/objekte-eines-treeview-wieder-abbauen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 20:01:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/181773.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 17 May 2007 09:26:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Objekte eines TreeView wieder abbauen on Thu, 17 May 2007 09:26:37 GMT]]></title><description><![CDATA[<p>Hi,<br />
ich habe ein Problem. Ich arbeite mit dem BCB6 und habe mir einen Tree mit Objekten gemäß der Hilfe des BCB gemacht.</p>
<pre><code class="language-cpp">typedef struct MyRec
{
  AnsiString FName, LName;

} TMyRec;
typedef TMyRec* PMyRec;

void __fastcall TForm1::Button1Click(TObject *Sender)
{
PMyRec  MyRecPtr;
int TreeViewIndex;
TTreeNodes* pItems;

 MyRecPtr = new TMyRec;
 MyRecPtr-&gt;FName = Edit1-&gt;Text;
 MyRecPtr-&gt;LName = Edit2-&gt;Text;
 TreeViewIndex = StrToInt(Edit3-&gt;Text);
 pItems = TreeView1-&gt;Items;
 if (pItems-&gt;Count == 0)
   pItems-&gt;AddObject(NULL, &quot;Item&quot; + IntToStr(TreeViewIndex), MyRecPtr);
 else if ((TreeViewIndex &lt; pItems-&gt;Count) &amp;&amp; (TreeViewIndex &gt;= 0))

      pItems-&gt;AddObject(pItems-&gt;Item[TreeViewIndex], &quot;Item&quot; + IntToStr(TreeViewIndex), MyRecPtr);
}
</code></pre>
<p>Jetzt zu meinem Problem.<br />
Wie bekomme ich die Objekte wenn sie nichtmehr benötigt werden wieder abgebaut?<br />
Ich hatte mir das so vorgestellt, dass ich einem Vector alle Adressen von MyRecPtr sammeln lasse, und wenn die Objekte nichtmehr benötigt werden, mit delete abbaue.<br />
Leider hapert es in der Praxis.<br />
Ich mache über</p>
<pre><code class="language-cpp">vector&lt;TMyRec*&gt; Adressen;
</code></pre>
<p>meinen Vector.<br />
Danach hinter dem new</p>
<pre><code class="language-cpp">Adressen.push_back(MyRecPtr);
</code></pre>
<p>lasse ich Ihn sammeln. Das funktioniert aber alles nicht. Kann mir da jemand einen denkanstoss geben?</p>
<p>Danke</p>
<p>CU Carsten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1286644</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1286644</guid><dc:creator><![CDATA[grandmasterb10]]></dc:creator><pubDate>Thu, 17 May 2007 09:26:37 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte eines TreeView wieder abbauen on Mon, 21 May 2007 08:29:05 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Was funktioniert denn nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1288871</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1288871</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Mon, 21 May 2007 08:29:05 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte eines TreeView wieder abbauen on Mon, 21 May 2007 14:42:12 GMT]]></title><description><![CDATA[<p>Ich habs in der Zwischenzeit hinbekommen.<br />
Ich sammle in einem zweiten Vector die Adressen und lasse die Objakte dann zur Laufzeit, wenn benötigt, über eine Funktion abbauen.<br />
Habs mit dem Code Guard geprüft und funktioniert.<br />
War nur etwas verwirrt wegen dem Zeiger usw., also reine Syntax und Semantik Probleme <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Mein Problem lag darin, dass über das Typdef ein Zeiger fürs Objekt schon erstellt wurde und die Objekte alle schon Zeiger waren...<br />
Also reine &quot;Anfängerprobleme&quot; denke ich</p>
<p>Gruss Carsten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1289153</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1289153</guid><dc:creator><![CDATA[grandmasterb10]]></dc:creator><pubDate>Mon, 21 May 2007 14:42:12 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte eines TreeView wieder abbauen on Tue, 22 May 2007 06:37:52 GMT]]></title><description><![CDATA[<p>Hallo Carsten,</p>
<p>ich kämpfe mit einem ähnlichen Problem, habe es aber noch nicht hinbekommen.<br />
Es würde mir sehr helfen, wenn Du mir die relevanten Codestellen von Dir (Sammeln der Adressen in einem zweiten Vector und Abbauen der Objekte zur Laufzeit, wenn benötigt, über eine Funktion) per Email schicken könntest.</p>
<p>Vielen Dank</p>
<p>Birgit</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1289548</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1289548</guid><dc:creator><![CDATA[bnaumer]]></dc:creator><pubDate>Tue, 22 May 2007 06:37:52 GMT</pubDate></item></channel></rss>