<?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[Abstrakter Fehler.]]></title><description><![CDATA[<p>Guten Morgen,<br />
Habe hier folgendes Problem</p>
<p>im header eine Struktur<br />
und einen Vector dieser Struktur</p>
<pre><code class="language-cpp">struct cell
        {
            TPanel *panel;    //Dieses Panel ist Parent von
            TRichEdit *rEdit; //       diesem
            TEdit *edit;      //       diesem
            TButton *button;  //       diesem
            TLabel *label;    //   und diesem Control
        };
        vector&lt;cell&gt; cells;
</code></pre>
<p>Wenn ich ein Element aus dem Vector löschen will, mache ich das folgendermaßen</p>
<pre><code class="language-cpp">delete cells[i].rEdit;
        delete cells[i].edit;
        delete cells[i].button;
        delete cells[i].label;
        delete cells[i].panel;
        for(unsigned int x=i; x&lt;cells.size()-1; x++){
            Application-&gt;ProcessMessages();
            cells[x] = cells[x+1];
        }

        Application-&gt;ProcessMessages();
        cells.resize(cells.size()-1);
</code></pre>
<p>Ich denke eigentlich sollte es so gehen.<br />
Aber ich bekomme Fehlermeldungen wie<br />
'Abstrakter Fehler.'<br />
und<br />
'Zugriffsverletzung' bei...'</p>
<p>Sieht jemand Fehler im Code?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/129277/abstrakter-fehler</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Jul 2026 22:29:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/129277.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 12 Dec 2005 10:35:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Abstrakter Fehler. on Mon, 12 Dec 2005 10:52:55 GMT]]></title><description><![CDATA[<p>Guten Morgen,<br />
Habe hier folgendes Problem</p>
<p>im header eine Struktur<br />
und einen Vector dieser Struktur</p>
<pre><code class="language-cpp">struct cell
        {
            TPanel *panel;    //Dieses Panel ist Parent von
            TRichEdit *rEdit; //       diesem
            TEdit *edit;      //       diesem
            TButton *button;  //       diesem
            TLabel *label;    //   und diesem Control
        };
        vector&lt;cell&gt; cells;
</code></pre>
<p>Wenn ich ein Element aus dem Vector löschen will, mache ich das folgendermaßen</p>
<pre><code class="language-cpp">delete cells[i].rEdit;
        delete cells[i].edit;
        delete cells[i].button;
        delete cells[i].label;
        delete cells[i].panel;
        for(unsigned int x=i; x&lt;cells.size()-1; x++){
            Application-&gt;ProcessMessages();
            cells[x] = cells[x+1];
        }

        Application-&gt;ProcessMessages();
        cells.resize(cells.size()-1);
</code></pre>
<p>Ich denke eigentlich sollte es so gehen.<br />
Aber ich bekomme Fehlermeldungen wie<br />
'Abstrakter Fehler.'<br />
und<br />
'Zugriffsverletzung' bei...'</p>
<p>Sieht jemand Fehler im Code?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/940035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/940035</guid><dc:creator><![CDATA[Trulli]]></dc:creator><pubDate>Mon, 12 Dec 2005 10:52:55 GMT</pubDate></item><item><title><![CDATA[Reply to Abstrakter Fehler. on Mon, 12 Dec 2005 11:54:23 GMT]]></title><description><![CDATA[<p>Wenn ich mich nicht irre, muss panel als Parent die Form haben, welche dann wiederum das Zerstören übernimmt. Oder liege ich da falsch?</p>
<p>Wenn nicht, dann kannst du den delete Aufruf weglassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/940086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/940086</guid><dc:creator><![CDATA[PuppetMaster2k]]></dc:creator><pubDate>Mon, 12 Dec 2005 11:54:23 GMT</pubDate></item><item><title><![CDATA[Reply to Abstrakter Fehler. on Mon, 12 Dec 2005 15:11:43 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>- du solltest statt deinem verschieben und resize()- Aufruf zum Löschen eines Elementes aus einem vector vector::erase verwenden.<br />
- du soltest das Aufräumen der Komponenteninstanzen dem Destructor des structs cell überlassen, den du noch anlegen must. Analog kannst du auch den Konstruktor für das Erzeugen benutzen.<br />
- Wie hast du denn die Owner der Controls gesetzt? Denn die Eigenschaft Owner gibt an, welches andere Control für das Löschen eines Controls veranwortlich ist. Owner kann NULL sein, dann must du selber das löschen übernehmen. Parent gibt dagegen an, in welchem anderen WinControl das Control angezeigt werden soll.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/940348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/940348</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Mon, 12 Dec 2005 15:11:43 GMT</pubDate></item></channel></rss>