<?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[dynamische erstellte Form ... error]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich möchte mir eine Komponente zusammenschußter.</p>
<p>Leider meckert er immer Ressource TServoGroup not found.</p>
<p>Weiß einer Rat?</p>
<p>Hier mal der Code:</p>
<pre><code class="language-cpp">class TServoGroup : public TForm
{
   public:
        __fastcall TServoGroup(TComponent *AOwner) : TForm(AOwner)
        {
         [...] //bis hier kommt er nichtmehr ... nachdem der Konstruktor vin TForm außgeführt wird, stürzt das Prog ab
        }
};

TServoGroup *ServoGroup;

void __fastcall TForm1::FormCreate(TObject *Sender)
{
   ServoGroup = new TServoGroup(this); //auch mit Form1/Application probiert
[...]
</code></pre>
<p>Vielen Dank!</p>
<p>/Edit : Codetag korrigiert</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/189191/dynamische-erstellte-form-error</link><generator>RSS for Node</generator><lastBuildDate>Mon, 17 Aug 2026 04:03:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/189191.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 09 Aug 2007 14:13:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to dynamische erstellte Form ... error on Thu, 09 Aug 2007 15:00:55 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich möchte mir eine Komponente zusammenschußter.</p>
<p>Leider meckert er immer Ressource TServoGroup not found.</p>
<p>Weiß einer Rat?</p>
<p>Hier mal der Code:</p>
<pre><code class="language-cpp">class TServoGroup : public TForm
{
   public:
        __fastcall TServoGroup(TComponent *AOwner) : TForm(AOwner)
        {
         [...] //bis hier kommt er nichtmehr ... nachdem der Konstruktor vin TForm außgeführt wird, stürzt das Prog ab
        }
};

TServoGroup *ServoGroup;

void __fastcall TForm1::FormCreate(TObject *Sender)
{
   ServoGroup = new TServoGroup(this); //auch mit Form1/Application probiert
[...]
</code></pre>
<p>Vielen Dank!</p>
<p>/Edit : Codetag korrigiert</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1341587</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1341587</guid><dc:creator><![CDATA[Thoms]]></dc:creator><pubDate>Thu, 09 Aug 2007 15:00:55 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische erstellte Form ... error on Thu, 09 Aug 2007 15:04:58 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Höchstwahrscheinlich rüht der Fehler von der Benutzung von OnCreate her. Niemals OnCreate oder OnDestroy benutzen. Begründung kannst du über SuFu finden.</p>
<pre><code class="language-cpp">class TServoGroup : public TForm
{
   public:
        __fastcall TServoGroup(TComponent *AOwner) : TForm(AOwner)
        {
          ServoGroup = new TServoGroup(this);
        }
  private:
    TServoGroup *ServoGroup;
};
</code></pre>
<p>Außerdem solltest du auch die Variable ServoGroup nicht global sondern als Member des Forms</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1341634</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1341634</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 09 Aug 2007 15:04:58 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische erstellte Form ... error on Thu, 09 Aug 2007 15:16:48 GMT]]></title><description><![CDATA[<p>Dankeschön <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/1341652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1341652</guid><dc:creator><![CDATA[Thoms]]></dc:creator><pubDate>Thu, 09 Aug 2007 15:16:48 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische erstellte Form ... error on Fri, 10 Aug 2007 07:15:08 GMT]]></title><description><![CDATA[<p>eine Frage habe ich aber noch ... warum geht aber das:?</p>
<pre><code class="language-cpp">__fastcall TServoGroup(TComponent *AOwner) : TForm(AOwner, 1) {}
</code></pre>
<p>Ich habe übrigends dass jetzt im Ereigniss OnButtonClick ... der fehler kommt trotzdem.</p>
<pre><code class="language-cpp">class TServoGroup : public TForm
{
   public:
        __fastcall TServoGroup(TComponent *AOwner) : TForm(AOwner)
        {
         [...] //bis hier kommt er nichtmehr ... nachdem der Konstruktor vin TForm außgeführt wird, stürzt das Prog ab
        }
};

TServoGroup *ServoGroup;

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   ServoGroup = new TServoGroup(Form1); [...]
</code></pre>
<p>warum macht das Sinn?</p>
<pre><code class="language-cpp">class TServoGroup : public TForm
{
   public:
        __fastcall TServoGroup(TComponent *AOwner) : TForm(AOwner)
        {
          ServoGroup = new TServoGroup(this);
        }
  private:
    TServoGroup *ServoGroup;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1341978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1341978</guid><dc:creator><![CDATA[Thoms]]></dc:creator><pubDate>Fri, 10 Aug 2007 07:15:08 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische erstellte Form ... error on Fri, 10 Aug 2007 07:35:46 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Thoms schrieb:</p>
<blockquote>
<p>eine Frage habe ich aber noch ... warum geht aber das:?</p>
<pre><code class="language-cpp">__fastcall TServoGroup(TComponent *AOwner) : TForm(AOwner, 1) {}
</code></pre>
</blockquote>
<p>TForm hat noch einen zweiten Konstruktor</p>
<p>BCB-Hilfe schrieb:</p>
<blockquote>
<p>Übergeben Sie eine Komponente und eine Ganzzahl, um beim Erzeugen des Foormulars das Streaming-System zu umgehen, das die Eigenschaften und die Nachkommen des Formulars aus einer .DFM-Datei lädt. Der zweite Parameter (Dummy) dient nur zur Unterscheidung dieser Syntax von der ersten. Dieser Konstruktor wird selten für Formularobjekte eingesetzt. Bei dieser Syntax müssen Sie eine externe .DFM-Datei einlesen, um die visuellen Komponenten an ihre Klassen zu binden.</p>
</blockquote>
<p>Allerdings nichts worüber du dir Gedanken machen müßtest. Las die 1 einfach weg.</p>
<blockquote>
<p>Ich habe übrigends dass jetzt im Ereigniss OnButtonClick ... der fehler kommt trotzdem.</p>
<pre><code class="language-cpp">class TServoGroup : public TForm
{
   public:
        __fastcall TServoGroup(TComponent *AOwner) : TForm(AOwner)
        {
         [...] //bis hier kommt er nichtmehr ... nachdem der Konstruktor vin TForm außgeführt wird, stürzt das Prog ab
        }
};

TServoGroup *ServoGroup;

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   ServoGroup = new TServoGroup(Form1); [...]
</code></pre>
</blockquote>
<p>Weil Button1Click (wenn überhaupt) erst nach dem Erstellen der Forminstanz aufgerufen wird. Greifst du vorher auf die Membervariable ServoGroup zurück erzeugst du undefiniertes Verhalten beim Zugriff auf uninitialisierten Speicher.</p>
<blockquote>
<p>warum macht das Sinn?</p>
<pre><code class="language-cpp">class TServoGroup : public TForm
{
   public:
        __fastcall TServoGroup(TComponent *AOwner) : TForm(AOwner)
        {
          ServoGroup = new TServoGroup(this);
        }
  private:
    TServoGroup *ServoGroup;
};
</code></pre>
</blockquote>
<p>Weil es logisch ist das beim Erstellen der Form auch alle Komponenten darauf erstellt werden. Sollen Komponenten erst nachträglich bei Benutzeraktionen erstellt werden must du schon etwas mehr Logik einbauen, beginnend damit das du im Konstruktor ServoGroup auf NULL setzt. Dann kannst und must du bei späteren Zugriffen auf ServoGroup immer auf NULL prüfen.</p>
<p>/Edit : Und so wie dein Codeauszug aussieht hast du ServoGroup immer noch als globale Variable! Pack das endlich in die Klasse rein.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1341988</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1341988</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Fri, 10 Aug 2007 07:35:46 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische erstellte Form ... error on Fri, 10 Aug 2007 08:00:29 GMT]]></title><description><![CDATA[<p>Tut mir leid! Aber ich verstehe es noch immer nicht ... trotzdem habe ich es ausprobiert.</p>
<pre><code class="language-cpp">class TServoGroup : public TForm
{
   public:
        __fastcall TServoGroup(TComponent *AOwner) : TForm(AOwner)
        {
          ServoGroup = new TServoGroup(this);
        }
  private:
    TServoGroup *ServoGroup;
};
</code></pre>
<p>Der Konstruktor ruft sich aber immerwieder (bis ins unendliche) selber auf ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1341999</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1341999</guid><dc:creator><![CDATA[Thoms]]></dc:creator><pubDate>Fri, 10 Aug 2007 08:00:29 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische erstellte Form ... error on Fri, 10 Aug 2007 08:05:19 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ja du must natürlich das Form anders nennen als deine neue Komponente (Über den Objektinspektor)</p>
<pre><code class="language-cpp">class TServoForm : public TForm
{
   public:
        __fastcall TServoForm(TComponent *AOwner) : TForm(AOwner)
        {
          ServoGroup = new TServoGroup(this);
        }
  private:
    TServoGroup *ServoGroup;
};
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1342004</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1342004</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Fri, 10 Aug 2007 08:05:19 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische erstellte Form ... error on Fri, 10 Aug 2007 08:18:44 GMT]]></title><description><![CDATA[<p>Okay! Jetzt versteh ich warum das Sinn macht ... Ich dachte die Ganze Zeit, da werden 2 Formen erstellt ... dabei wird ja die Klasse Abkeleitet ... dadurch wird keine 2. Form erstellt ... jedoch der unschöne stückweise aufbau der Komponenten auf der Form verschwindet <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>Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1342011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1342011</guid><dc:creator><![CDATA[Thoms]]></dc:creator><pubDate>Fri, 10 Aug 2007 08:18:44 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische erstellte Form ... error on Fri, 10 Aug 2007 09:45:31 GMT]]></title><description><![CDATA[<p>Ich verzweifle nochmal ...</p>
<pre><code class="language-cpp">class TServoGroup : public TForm
{
   public:
      TCSpinEdit *Servo;

      __fastcall TServoGroup(TComponent *AOwner) : TForm(AOwner)
      {

           Servo                        = new TCSpinEdit(AOwner);
           Servo-&gt;Parent                = (TWinControl*)AOwner;
           Servo-&gt;Value                 = 0;
           Servo-&gt;EditorEnabled         = 0;
           Servo-&gt;Hint                  = &quot;Servo#&quot;;
           Servo-&gt;ShowHint              = 1;
           Servo-&gt;AutoSize              = 1;
           Servo-&gt;Increment             = 1;
           Servo-&gt;MinValue              = 0;
           Servo-&gt;MaxValue              = 15;
           Servo-&gt;Ctl3D                 = 1;
           Servo-&gt;ReadOnly              = 0;
           Servo-&gt;Enabled               = 1;
           Servo-&gt;Visible               = 1;
      }
};
class TServoForm : public TForm
{
   public:
        __fastcall TServoForm(TComponent *AOwner) : TForm(AOwner)
        {
          ServoGroup = new TServoGroup(this);
          ServoGroup-&gt;Parent = this;
        }
  private:
    TServoGroup *ServoGroup;
};

TServoForm *ServoForm;
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ServoForm= new TServoForm(Form1);
}
</code></pre>
<p>Er sagt immer noch:Ressource TServoGroup not found</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1342073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1342073</guid><dc:creator><![CDATA[Thoms]]></dc:creator><pubDate>Fri, 10 Aug 2007 09:45:31 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische erstellte Form ... error on Fri, 10 Aug 2007 09:51:55 GMT]]></title><description><![CDATA[<p>... TServoForm not found</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1342079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1342079</guid><dc:creator><![CDATA[Thoms]]></dc:creator><pubDate>Fri, 10 Aug 2007 09:51:55 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische erstellte Form ... error on Fri, 10 Aug 2007 09:55:46 GMT]]></title><description><![CDATA[<p>Hallo</p>
<pre><code class="language-cpp">class TServoGroup : public TForm
</code></pre>
<p>Weil dein Form immer noch TServoGroup und nicht TServoForm heißt!</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1342082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1342082</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Fri, 10 Aug 2007 09:55:46 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische erstellte Form ... error on Fri, 10 Aug 2007 10:24:16 GMT]]></title><description><![CDATA[<p>Ich versteh NULL ... kannst du mir nicht mal bitte nen kleines beispiel schreiben, wo wenn ich aufm Button drücke in der MainForm eine neue Form mit einem Button drin erstellt wird?</p>
<p>Wäre sehr lieb!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1342102</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1342102</guid><dc:creator><![CDATA[Thoms]]></dc:creator><pubDate>Fri, 10 Aug 2007 10:24:16 GMT</pubDate></item></channel></rss>