<?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[delete im Destruktor]]></title><description><![CDATA[<p>ich habe in einer klasse ein DynamicArray für TImage und TLabel.<br />
durch Paint(); reserviere ich speicher über new und mit Clear(); gebe ich ihn wider mit delete frei.<br />
wenn ich das von hand aufrufe, geht das super<br />
aber wenn ich die clearfunktion im Destruktor aufrufe, kommt ein Fehler &quot;EAccessViolation&quot;<br />
also habe ich probleme mit dem speicherbereich.<br />
da es aber sonst geht, zum freigeben, denke ich das liegt im zusammenhang mit dem Destruktor</p>
<pre><code class="language-cpp">__fastcall TElTecGraph::~TElTecGraph()
{
    // anfang Clear-Funktion
   if (bPaint)
   {
      for (int iCounter = imgSector.Length-1; iCounter &gt;=0; iCounter--)
      {
         delete imgSector[iCounter];
         if (iCounter != 0)
            delete labSector[iCounter];
         imgSector.Length--;
         labSector.Length--;
      }
   }
   // ende Clearfunktion

   delete strlSectors;
   delete picSector;
   delete picSpray;
}
</code></pre>
<p>habe ich da irgendwie einen groben fehler drin?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/107618/delete-im-destruktor</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Jul 2026 13:54:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/107618.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 21 Apr 2005 10:49:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to delete im Destruktor on Thu, 21 Apr 2005 10:49:01 GMT]]></title><description><![CDATA[<p>ich habe in einer klasse ein DynamicArray für TImage und TLabel.<br />
durch Paint(); reserviere ich speicher über new und mit Clear(); gebe ich ihn wider mit delete frei.<br />
wenn ich das von hand aufrufe, geht das super<br />
aber wenn ich die clearfunktion im Destruktor aufrufe, kommt ein Fehler &quot;EAccessViolation&quot;<br />
also habe ich probleme mit dem speicherbereich.<br />
da es aber sonst geht, zum freigeben, denke ich das liegt im zusammenhang mit dem Destruktor</p>
<pre><code class="language-cpp">__fastcall TElTecGraph::~TElTecGraph()
{
    // anfang Clear-Funktion
   if (bPaint)
   {
      for (int iCounter = imgSector.Length-1; iCounter &gt;=0; iCounter--)
      {
         delete imgSector[iCounter];
         if (iCounter != 0)
            delete labSector[iCounter];
         imgSector.Length--;
         labSector.Length--;
      }
   }
   // ende Clearfunktion

   delete strlSectors;
   delete picSector;
   delete picSpray;
}
</code></pre>
<p>habe ich da irgendwie einen groben fehler drin?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/771955</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/771955</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Thu, 21 Apr 2005 10:49:01 GMT</pubDate></item><item><title><![CDATA[Reply to delete im Destruktor on Thu, 21 Apr 2005 11:01:03 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Debuggen und schauen, welches delete genau die Exception wirft.<br />
Dein Codeausschnitt ist wohl nicht ausreichend.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/771964</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/771964</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 21 Apr 2005 11:01:03 GMT</pubDate></item><item><title><![CDATA[Reply to delete im Destruktor on Thu, 21 Apr 2005 11:15:51 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Warum verringerst du die Größe deines Arrays in der Schleife? Du bist doch im Destruktor. Das Array ist danach ohnehin nicht mehr da.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/771980</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/771980</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 21 Apr 2005 11:15:51 GMT</pubDate></item><item><title><![CDATA[Reply to delete im Destruktor on Thu, 21 Apr 2005 11:20:07 GMT]]></title><description><![CDATA[<p>mein problem liegt eben, dass die funktion eigentlich funktioniert, nur nicht im Destruktor.<br />
ich versuche das mal zu veranschaulichen ohne seitenweise code..</p>
<pre><code class="language-cpp">void __fastcall TElTecGraph::Clear()
{

   /*  löschen der Images und Labels  */
   bPaint = false;
   for (int iCounter = imgSector.Length-1; iCounter &gt;=0; iCounter--)
   {
      delete imgSector[iCounter];
      if (iCounter != 0)                     // labSector[0] wird nie gebraucht
         delete labSector[iCounter];
      imgSector.Length--;
      labSector.Length--;
   }
}

//---------------------------------------------------------------------------

bool __fastcall TElTecGraph::Paint()
{
   bPaint = true;
   imgSector.Length = 1;
   labSector.Length = 1;
...

   imgSector[0] = new TImage();

...

   for (int iCounter = 1; iCounter &lt;= strlSectors-&gt;Count; iCounter++)   //strlSectors enthält bezeichnung für die images
   {
      imgSector.Length++;
      imgSector[iCounter] = new TImage();
      ...
      labSector.Length++;
      labSector[iCounter] = new TLAbel();
      ...
   }
   return (true);
}
</code></pre>
<p>die 2 Funktionen laufen super..<br />
ich kann über 2 Buttons zuerst Paint() aufrufen(Image und Label werden angezeigt)<br />
und über Clear() (alles wieder löschen/speicher freigeben)<br />
läuft super <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>jetzt will ich im Destruktor noch testen, ob Speicher reserviert ist (bPaint) und fals ja, Clear aufrufen.</p>
<pre><code class="language-cpp">__fastcall TElTecGraph::~TElTecGraph()
{
   if (bPaint)
      Clear();

   delete strlSectors;   // die 3 delete laufen sauber, da wenn bPaint == false kein error kommt
   delete picSector;
   delete picSpray;
}
</code></pre>
<p>sobald aber bPaint true ist löst es den &quot;EAccessViolation&quot; aus..!?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/771983</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/771983</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Thu, 21 Apr 2005 11:20:07 GMT</pubDate></item><item><title><![CDATA[Reply to delete im Destruktor on Thu, 21 Apr 2005 11:26:19 GMT]]></title><description><![CDATA[<p>Wo rufst Du den Destruktor auf?<br />
Was übergibst Du denn im Konstruktor bei der Erstellung der TImage- bzw. TLabel-Objekte?<br />
Wenn Du das so machst:</p>
<pre><code class="language-cpp">TLabel* lbl = new TLabel(Application);
</code></pre>
<p>Dann ist Application für das Freigeben verantwortlich. Wenn Du Dein Programm beendest (oder vielleicht auch nur das<br />
Formular schließt) und Application war schneller, dann versuchst Du einen ungültigen Zeiger zu löschen.</p>
<p>Gruß,</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/771990</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/771990</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Thu, 21 Apr 2005 11:26:19 GMT</pubDate></item><item><title><![CDATA[Reply to delete im Destruktor on Thu, 21 Apr 2005 11:31:57 GMT]]></title><description><![CDATA[<p>Der Owner sollte hier nicht gestzt sein (also NULL).<br />
Dann sind die Schleifen zu umständlich formuliert. Wenn du die Größe des Array kennst, warum setzt du sie dann nicht gleich (so auch beim Clear()).<br />
Was passiert, wenn Paint zweimal hintereinander aufgerufen wird? Also teste hier lieber bPaint ab. Diese Variable kannst du zu Not auch weglassen und statt dessen die Länge deines DynamicArrays verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/771994</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/771994</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 21 Apr 2005 11:31:57 GMT</pubDate></item><item><title><![CDATA[Reply to delete im Destruktor on Thu, 21 Apr 2005 11:33:53 GMT]]></title><description><![CDATA[<p>irgend etwas in diese richtung dachte ich mir @ alex</p>
<p>also ich rufe die Konstruktoren so auf</p>
<pre><code class="language-cpp">imgSector[0] = new TImage(wcImgParent-&gt;Owner);
      labSector[iCounter] = new TLabel(wcImgParent-&gt;Owner);
</code></pre>
<pre><code class="language-cpp">TWinControl *wcImgParent
</code></pre>
<p>dort kann man den Parent für die Images und Labels festlegen.. zB GroubBox1, etc..</p>
<p>ist das das selbe wie mit Application?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/771998</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/771998</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Thu, 21 Apr 2005 11:33:53 GMT</pubDate></item><item><title><![CDATA[Reply to delete im Destruktor on Thu, 21 Apr 2005 11:37:47 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>Dann sind die Schleifen zu umständlich formuliert. Wenn du die Größe des Array kennst, warum setzt du sie dann nicht gleich (so auch beim Clear()).</p>
</blockquote>
<p>die ändern ja immer.. ich lese aus einer StringList aus(pro eintrag 1 image+label)</p>
<p>Braunstein schrieb:</p>
<blockquote>
<p>Was passiert, wenn Paint zweimal hintereinander aufgerufen wird? Also teste hier lieber bPaint ab. Diese Variable kannst du zu Not auch weglassen und statt dessen die Länge deines DynamicArrays verwenden.</p>
</blockquote>
<p>die abfrage habe ich schon drin.. wollte den code möglichst einfach halten und die sache nicht unnötig komplizieren <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/772004</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/772004</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Thu, 21 Apr 2005 11:37:47 GMT</pubDate></item><item><title><![CDATA[Reply to delete im Destruktor on Thu, 21 Apr 2005 11:39:58 GMT]]></title><description><![CDATA[<p>BigNeal schrieb:</p>
<blockquote>
<p>ist das das selbe wie mit Application?</p>
</blockquote>
<p>Durch einen Blick in die Hilfe wird sich Dir die Bedeutung von Owner erschließen.<br />
Dann wirst Du auch erkennen, dass es im Prinzip egal ist, ob Du Application oder irgendein Formular oder sonstwas<br />
übergibst.<br />
Braunstein hat schon recht: Am besten Du übergibst null, dann kümmert sich niemand um das Freigeben; d.h. dass Du<br />
das dann machen musst.</p>
<p>Gruß,</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/772006</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/772006</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Thu, 21 Apr 2005 11:39:58 GMT</pubDate></item><item><title><![CDATA[Reply to delete im Destruktor on Thu, 21 Apr 2005 11:42:46 GMT]]></title><description><![CDATA[<blockquote>
<p>die ändern ja immer.. ich lese aus einer StringList aus(pro eintrag 1 image+label)</p>
</blockquote>
<p>Du kennst doch aber die Länge der StringList.<br />
Ich meine das so:</p>
<pre><code class="language-cpp">bool __fastcall TElTecGraph::Paint()
{
   imgSector.Length = strlSectors-&gt;Count+1;
   labSector.Length = strlSectors-&gt;Count+1;
...

   imgSector[0] = new TImage();

...

   for (int iCounter = 1; iCounter &lt;= strlSectors-&gt;Count; iCounter++)   //strlSectors enthält bezeichnung für die images
   {
      imgSector[iCounter] = new TImage(NULL);
      ...
      labSector[iCounter] = new TLAbel(NULL);
      ...
   }
   bPaint = true;
   return (true);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/772007</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/772007</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 21 Apr 2005 11:42:46 GMT</pubDate></item><item><title><![CDATA[Reply to delete im Destruktor on Thu, 21 Apr 2005 11:53:43 GMT]]></title><description><![CDATA[<p>Wofür brauchst Du eigentlich die Stringliste?<br />
Es würde doch genügen, ein dynamisches Array zu verwenden, das Objekte enthält, die wiederum Objekte von Labeln und<br />
Images enthalten.</p>
<p>Beispiel:</p>
<pre><code class="language-cpp">class TImageLabel
{
public:
  TImageLabel();
  ~TImageLabel();
  __property TLabel* Label = {read=FLabel};
  __property TImage* Image = {read=FImage};
private:
  TLabel* FLabel;
  TImage* FImage;
};
</code></pre>
<p>Wenn Du eine Klasse erstellst, die von TObject erbt, kannst Du die Objekte sogar direkt in der Stringliste speichern.<br />
Ein solche Klasse hat den Vorteil, dass sie sich um das Erstellen/Freigeben kümmert und außerdem ganz leicht erweitert<br />
werden kann ohne an x Stellen im Code zu ändern.</p>
<p>Gruß,</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/772017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/772017</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Thu, 21 Apr 2005 11:53:43 GMT</pubDate></item><item><title><![CDATA[Reply to delete im Destruktor on Thu, 21 Apr 2005 12:07:50 GMT]]></title><description><![CDATA[<p>ok, gebe zu.. obwohl es nciht viel anderst ist, sieht es etwas hübscher aus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>habe jetzt auf TLabel(NULL) und TImage(NULL) geändert..<br />
funktioniert leider immernochnicht.. der selbe error wird beim beenden mit bPaint == true ausgelöst.<br />
wenn ich die BCB-Hilfe richtig verstanden habe, übergebe ich mit dem Parentwert auch wieder den &quot;Owner&quot; wobei ich weider gleich weit bin.<br />
ich habe das ganze wieder zurückgestellt, so wie ich es hatte und einfach den Clear() aufruf im Destruktor weggelassen, da der speicher ja automatisch freigegeben wird.</p>
<p>thx allen für die hilfe und fürs mitdenken <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>@ alex<br />
ich will mit den TImage die zonen eines Aggregates darstellen. Mit den Label bezeichne ich die HeizbänderNr/FühlerNr. so muss man zB nur die werte &quot;1&quot;, &quot;2&quot;, &quot;3&quot;, &quot;4&quot; in die Stringlist schreiben um die fühler anzuzeigen mit dem entsprechendem bild dahinter (das ganze verreinfacht!)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/772032</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/772032</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Thu, 21 Apr 2005 12:07:50 GMT</pubDate></item><item><title><![CDATA[Reply to delete im Destruktor on Thu, 21 Apr 2005 12:14:14 GMT]]></title><description><![CDATA[<blockquote>
<p>wenn ich die BCB-Hilfe richtig verstanden habe, übergebe ich mit dem Parentwert auch wieder den &quot;Owner&quot;</p>
</blockquote>
<p>Dann hast du die Hilfe nicht richtig verstanden. Der Parent ist die Komponente auf welcher deine Komponente angezeigt wird. Der Owner ist für das Löschen zuständig. Die beiden sind unabhängig.<br />
Ich würde dein Programm lieber nochmal debuggen (Breakpoint im Destruktor setzen o.ä.) und schauen wo es hängenbleibt. Deine jetzige Lösung ist sehr unschön.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/772041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/772041</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 21 Apr 2005 12:14:14 GMT</pubDate></item><item><title><![CDATA[Reply to delete im Destruktor on Thu, 21 Apr 2005 12:24:08 GMT]]></title><description><![CDATA[<p>BCB-Hilfe schrieb:</p>
<blockquote>
<p>Hinweis: Die in TControl deklarierte Eigenschaft Parent ähnelt der Eigenschaft Owner von TComponent darin, daß die hier angegebenen Objekte für das Freigeben des Steuerelements zuständig sind.</p>
</blockquote>
<p>also ich verstehe das so, dass das übergebene Objekt über Parent für das Freigeben des Images zuständig ist.<br />
oder was verstehe ich falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/772055</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/772055</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Thu, 21 Apr 2005 12:24:08 GMT</pubDate></item><item><title><![CDATA[Reply to delete im Destruktor on Thu, 21 Apr 2005 12:28:32 GMT]]></title><description><![CDATA[<p>BigNeal schrieb:</p>
<blockquote>
<p>wenn ich die BCB-Hilfe richtig verstanden habe, übergebe ich mit dem Parentwert auch wieder den &quot;Owner&quot;</p>
</blockquote>
<p>Die Hilfe ist da ein bisschen unschön formuliert.<br />
Du kannst das aber ganz leicht selbst ausprobieren. Neue Anwendung und dann in FormShow:</p>
<pre><code class="language-cpp">TLabel* label = new TLabel(Application);
   label-&gt;Parent = this;
   label-&gt;AutoSize = true;
   label-&gt;Caption = &quot;Owner:&quot; + label-&gt;Owner-&gt;Name + &quot; - Parent: &quot; + label-&gt;Parent-&gt;Name;
</code></pre>
<p>Im Grunde hast Du jetzt nicht das Problem behoben, sondern lediglich durch Rumprobieren einen Zustand gefunden,<br />
der zu funktionieren scheint. Andrew Hunt und David Thomas nennen das in ihrem Buch &quot;Der pragmatische Programmierer&quot;<br />
&quot;Programmieren mit dem Zufall&quot;.</p>
<p>Gruß,</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/772060</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/772060</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Thu, 21 Apr 2005 12:28:32 GMT</pubDate></item><item><title><![CDATA[Reply to delete im Destruktor on Thu, 21 Apr 2005 12:33:57 GMT]]></title><description><![CDATA[<p>Bei mir steht in der Hilfe etwas anderes.</p>
<blockquote>
<p>Note: Don't confuse the Parent property declared in TControl with the Owner property declared in TComponent. The Parent of a control is always a windowed control that visually contains the control, and which is responsible for writing the control to a stream when the form is saved. The Owner of a component is the component that was passed as a parameter in the constructor and that controls when the component is freed.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/772069</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/772069</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 21 Apr 2005 12:33:57 GMT</pubDate></item><item><title><![CDATA[Reply to delete im Destruktor on Thu, 21 Apr 2005 12:37:12 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>Bei mir steht in der Hilfe etwas anderes.</p>
</blockquote>
<p>Die Deutsche Übersetzung ist offensichtlich missglückt.</p>
<p>Gruß,</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/772071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/772071</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Thu, 21 Apr 2005 12:37:12 GMT</pubDate></item><item><title><![CDATA[Reply to delete im Destruktor on Thu, 21 Apr 2005 12:48:26 GMT]]></title><description><![CDATA[<p>Alexander Kempf schrieb:</p>
<blockquote>
<p>Im Grunde hast Du jetzt nicht das Problem behoben, sondern lediglich durch Rumprobieren einen Zustand gefunden,<br />
der zu funktionieren scheint. Andrew Hunt und David Thomas nennen das in ihrem Buch &quot;Der pragmatische Programmierer&quot;<br />
&quot;Programmieren mit dem Zufall&quot;.</p>
</blockquote>
<p>Ich habe lediglich noch nicht gewusst, dass Owner den Speicher freigibt und somit habe ich nochmals versucht den speicher freizugeben. wenn nicht allwissend sein mich in diese katergorie steckt, dan werde ich wohl noch seeeeeehr lange dort rein gehören <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>
]]></description><link>https://www.c-plusplus.net/forum/post/772080</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/772080</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Thu, 21 Apr 2005 12:48:26 GMT</pubDate></item><item><title><![CDATA[Reply to delete im Destruktor on Thu, 21 Apr 2005 13:01:57 GMT]]></title><description><![CDATA[<p>BigNeal schrieb:</p>
<blockquote>
<p>Ich habe lediglich noch nicht gewusst, dass Owner den Speicher freigibt und somit habe ich nochmals versucht den speicher freizugeben.</p>
</blockquote>
<p>BigNeal schrieb:</p>
<blockquote>
<p>habe jetzt auf TLabel(NULL) und TImage(NULL) geändert..<br />
funktioniert leider immernochnicht.. der selbe error wird beim beenden mit bPaint == true ausgelöst.</p>
</blockquote>
<p>Klingt für mich etwas widersprüchlich und nicht so, als ob Du den Fehler tatsächlich gefunden hast.<br />
Mit allwissend hat das nichts zu tun, sondern damit, ob man einen Fehler tatsächlich beheben kann, also begriffen<br />
hat, wo der Fehler liegt, oder nur solange blind irgendwas im Code umstellt, bis der Fehler nicht mehr auftaucht.<br />
Das eine ist &quot;Verstehen&quot;, das zweite &quot;Hoffen&quot;.</p>
<p>Gruß,</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/772092</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/772092</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Thu, 21 Apr 2005 13:01:57 GMT</pubDate></item><item><title><![CDATA[Reply to delete im Destruktor on Thu, 21 Apr 2005 13:01:57 GMT]]></title><description><![CDATA[<p>ich habe den Fehler (noch) nicht gefunden, bei der variante, die mir hier vorgeschlagen wurde, mit der übergabe NULL.<br />
bei meiner Variante mit Owner als übergabe, hat sich die Erromeldung ja geklährt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/772096</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/772096</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Thu, 21 Apr 2005 13:01:57 GMT</pubDate></item><item><title><![CDATA[Reply to delete im Destruktor on Thu, 21 Apr 2005 13:04:03 GMT]]></title><description><![CDATA[<p>BigNeal schrieb:</p>
<blockquote>
<p>ich habe den Fehler (noch) nicht gefunden, bei der variante, die mir hier vorgeschlagen wurde, mit der übergabe NULL.<br />
bei meiner Variante mit Owner als übergabe, hat sich die Erromeldung ja geklährt.</p>
</blockquote>
<p>Hat für mich so geklungen, als ob das immer noch derselbe Fehler war <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Kam dann ein anderer Fehler? Dann hättest Du das mal schreiben sollen.</p>
<p>Gruß,</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/772101</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/772101</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Thu, 21 Apr 2005 13:04:03 GMT</pubDate></item><item><title><![CDATA[Reply to delete im Destruktor on Thu, 21 Apr 2005 13:17:32 GMT]]></title><description><![CDATA[<p>ok, kurze zusammenfassung der dinge:<br />
mit owner als übergabe:<br />
- fehler wenn man im Destruktor delete aufrufen will (fehler hat sich ja geklährt, owner gibt den speicher selber frei)<br />
- läuft ohne delete im Destruktor</p>
<p>mit NULL als übergabe:<br />
- fehler wenn ich delete im Destruktor aufrufe will( habe mir das wegen der fehlerhaften/mangelhaften BCB-Hilfe über Parent versucht zu erklähren, was jedoch nicht stimmt)<br />
Fehler:&quot;EExternalException&quot; wird ausgelöst<br />
- läuft ohne delete im Destruktor</p>
]]></description><link>https://www.c-plusplus.net/forum/post/772114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/772114</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Thu, 21 Apr 2005 13:17:32 GMT</pubDate></item></channel></rss>