<?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[verständnisproblem - Zeiger für Form übergeben]]></title><description><![CDATA[<p>ich möchte eine Funktion aufrufen, die nicht in der selben Form definiert sein muss, welche durch ein Zeiger auf eine Form(oder GroupBox oder ähnliches) als Parameter zugreift, und dort dynamisch Komponenten erstellt...</p>
<p>jetzt habe ich da ne simple testfunktion geschrieben<br />
Button1 und GroupBox1 sind auf der Form1</p>
<pre><code class="language-cpp">void __fastcall TForm1::Button1Click(TObject *Sender)
{
   Test (Form1);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Test(TForm *Form)
{
   Form-&gt;GroupBox1-&gt;Caption =&quot;Hallo Welt&quot;;
}
//---------------------------------------------------------------------------
</code></pre>
<p>kann mir jemand sagen, wo der Fehler liegt und/oder was icih falsch mache?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/101298/verständnisproblem-zeiger-für-form-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Jul 2026 13:39:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/101298.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 15 Feb 2005 08:23:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to verständnisproblem - Zeiger für Form übergeben on Tue, 15 Feb 2005 08:23:02 GMT]]></title><description><![CDATA[<p>ich möchte eine Funktion aufrufen, die nicht in der selben Form definiert sein muss, welche durch ein Zeiger auf eine Form(oder GroupBox oder ähnliches) als Parameter zugreift, und dort dynamisch Komponenten erstellt...</p>
<p>jetzt habe ich da ne simple testfunktion geschrieben<br />
Button1 und GroupBox1 sind auf der Form1</p>
<pre><code class="language-cpp">void __fastcall TForm1::Button1Click(TObject *Sender)
{
   Test (Form1);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Test(TForm *Form)
{
   Form-&gt;GroupBox1-&gt;Caption =&quot;Hallo Welt&quot;;
}
//---------------------------------------------------------------------------
</code></pre>
<p>kann mir jemand sagen, wo der Fehler liegt und/oder was icih falsch mache?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/723629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/723629</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Tue, 15 Feb 2005 08:23:02 GMT</pubDate></item><item><title><![CDATA[Reply to verständnisproblem - Zeiger für Form übergeben on Tue, 15 Feb 2005 08:36:05 GMT]]></title><description><![CDATA[<p>Fehler???</p>
<p>Du hast gar keinen beschrieben/ genannt! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
<p>Ich nehm mal an, der Zugriff auf Groupbox wird verweigert. <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="😕"
    /></p>
<p>TForm * ist ein Zeiger auf eine LEERE Form!!!</p>
<p>Du musst schon nen Zeiger auf DIE Form nehmen, in DER die GroupBox drin ist. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/723644</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/723644</guid><dc:creator><![CDATA[DerAltenburger]]></dc:creator><pubDate>Tue, 15 Feb 2005 08:36:05 GMT</pubDate></item><item><title><![CDATA[Reply to verständnisproblem - Zeiger für Form übergeben on Tue, 15 Feb 2005 08:53:56 GMT]]></title><description><![CDATA[<p>DerAltenburger schrieb:</p>
<blockquote>
<p>Fehler???</p>
<p>Du hast gar keinen beschrieben/ genannt! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
</blockquote>
<p>jep, stimmt.. in der einfach heit des besipiels habe ich komplet vergessen das problem genau zu beschreiben</p>
<p>DerAltenburger schrieb:</p>
<blockquote>
<p>Ich nehm mal an, der Zugriff auf Groupbox wird verweigert. <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="😕"
    /></p>
</blockquote>
<p><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="👍"
    /> genau dort liegt das Problem <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>DerAltenburger schrieb:</p>
<blockquote>
<p>TForm * ist ein Zeiger auf eine LEERE Form!!!</p>
<p>Du musst schon nen Zeiger auf DIE Form nehmen, in DER die GroupBox drin ist. <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>
</blockquote>
<p>aber ich übergebe doch mit</p>
<pre><code class="language-cpp">Test (Form1);
</code></pre>
<p>einen Zeiger auf die &quot;Form1&quot;.. oder nicht?<br />
Wie gesagt es ist mehr ein Verständnis Problem</p>
<p>Thx<br />
BigNeal</p>
]]></description><link>https://www.c-plusplus.net/forum/post/723653</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/723653</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Tue, 15 Feb 2005 08:53:56 GMT</pubDate></item><item><title><![CDATA[Reply to verständnisproblem - Zeiger für Form übergeben on Tue, 15 Feb 2005 08:58:41 GMT]]></title><description><![CDATA[<p>void __fastcall TForm1::Test(TForm *Form)</p>
<p>erwartet einen Zeiger vom Typ Form*, nicht Form1*!!! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
<p>mach mal:</p>
<p>void __fastcall TForm1::Test(TForm1 *Form)</p>
<p>PS: Du must einen Zeiger der richtigen Komponente UND vom richtigen Typ uebergeben,<br />
Woher soll der Zeiger Form* von 'Innereien' aus Form1* wissen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/723660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/723660</guid><dc:creator><![CDATA[DerAltenburger]]></dc:creator><pubDate>Tue, 15 Feb 2005 08:58:41 GMT</pubDate></item><item><title><![CDATA[Reply to verständnisproblem - Zeiger für Form übergeben on Tue, 15 Feb 2005 09:00:11 GMT]]></title><description><![CDATA[<p>[cpp]void __fastcall TForm1::Test(<strong>TForm</strong> *Form)<br />
{<br />
Form-&gt;GroupBox1-&gt;Caption =&quot;Hallo Welt&quot;;<br />
}<br />
//---------------------------------------------------------------------------[/cpp]</p>
<p>Aber hier castest Du zu der Basisklasse TForm. Dort befinden sich keine Elemente auf die zugreifen kannst! Das ist die LEERE Form, die DerAltenburger meint. Du kannst nur noch auf die Eigenschaften und Methoden zugreifen, die sich direkt in TForm befinden. Ändere das TForm in TForm1 und schau was passiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/723661</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/723661</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 15 Feb 2005 09:00:11 GMT</pubDate></item><item><title><![CDATA[Reply to verständnisproblem - Zeiger für Form übergeben on Tue, 15 Feb 2005 09:17:54 GMT]]></title><description><![CDATA[<p><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="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /><br />
danke euch zwei.. ich glaube, da wirds mir langsam etwas klarer..<br />
Jetzt stellt sich mir aber wieder ein Problem..<br />
ich möchte die funktion aus verschiedenen &quot;Forms&quot; aufrufen können..<br />
ich wollte den Parameter als Parent wert benutzen.<br />
im Stil von:<br />
[cpp]void __fastcall TForm1::Button1Click(TObject *Sender)<br />
{<br />
Form2-&gt;Test(Form1) ;<br />
}<br />
void __fastcall TForm3::Button1Click(TObject *Sender)<br />
{<br />
Form2-&gt;Test(Form3-&gt;GroupBox1) ;<br />
}</p>
<p>void __fastcall TForm2::Test(<strong>xxx</strong> *Parent)<br />
{<br />
TLabel *Titel = new TLabel;<br />
Titel-&gt;Parent = Parent<br />
}[/cpp]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/723671</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/723671</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Tue, 15 Feb 2005 09:17:54 GMT</pubDate></item><item><title><![CDATA[Reply to verständnisproblem - Zeiger für Form übergeben on Tue, 15 Feb 2005 09:22:57 GMT]]></title><description><![CDATA[<p>Da muss die Form in allen Modulen BEKANNT sein!</p>
<p>D.h.: Du musst die Headerdatei der Form in allen anderen includieren! Sonst ist der Typ (Form1) nicht bekannt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/723677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/723677</guid><dc:creator><![CDATA[DerAltenburger]]></dc:creator><pubDate>Tue, 15 Feb 2005 09:22:57 GMT</pubDate></item><item><title><![CDATA[Reply to verständnisproblem - Zeiger für Form übergeben on Tue, 15 Feb 2005 09:29:38 GMT]]></title><description><![CDATA[<p>jep, das habe ich vorher auch herausgefunden <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="😃"
    /><br />
es geht mir aber mehr um ein anderes Problem..<br />
[cpp]void __fastcall <strong>TForm1</strong>::Button1Click(TObject *Sender)<br />
{<br />
Form2-&gt;Test(<strong>Form1</strong>) ;<br />
}<br />
void __fastcall TForm2::Test(<strong>TForm1</strong> *Form)<br />
{<br />
Form-&gt;GroupBox1-&gt;Caption = &quot;Hallo Welt&quot;;<br />
}[/cpp]<br />
das klapt ja..<br />
[cpp]void __fastcall <strong>TForm3</strong>::Button1Click(TObject *Sender)<br />
{<br />
Form2-&gt;Test(<strong>Form3</strong>) ;<br />
}<br />
void __fastcall TForm2::Test(<strong>TForm3</strong> *Form)<br />
{<br />
Form-&gt;GroupBox1-&gt;Caption = &quot;Hallo Welt&quot;;<br />
}[/cpp]das ja auch... aber wie kann ich die Funktion Test(); so modifizieren, dass die Übergabeform egal ist.. d.h., dass bei der selben funktion Form1, oder Form 3 etc.. als parameter gebraucht werden kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/723684</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/723684</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Tue, 15 Feb 2005 09:29:38 GMT</pubDate></item><item><title><![CDATA[Reply to verständnisproblem - Zeiger für Form übergeben on Tue, 15 Feb 2005 09:38:26 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Da hast du mehrere Möglichkeiten. Du könntest den Parameter in Test den Typ TForm (oder vielleicht auch TWinControl )geben und dann in Test auf den jeweils richtigen Typ casten (dynamic_cast). Eine andere Variante wäre die Funktion als Template zu schreiben, so dass der jeweils korrekte Typ zur Compilezeit bestimmt werden kann.<br />
Wenn du allerdings nur ein Parent festlegen willst reicht auch TWinControl ohne internen Cast.</p>
<p>ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/723693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/723693</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 15 Feb 2005 09:38:26 GMT</pubDate></item><item><title><![CDATA[Reply to verständnisproblem - Zeiger für Form übergeben on Tue, 15 Feb 2005 09:51:09 GMT]]></title><description><![CDATA[<p><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="👍"
    /> hört sich gut an, und ich werde es auch gleich mal versuchen..</p>
<p>aber mir schwirrt ne frage im kopf rum, die mir ärger ersparren könnte! darum stelle ich sie gleich mal.. <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>müssen die Formen (bei den beiden Varienten von Braunstein) die, auf die Funktion test() zugreifen schon in der Funktion bekannt sein?</p>
<p>oder kann ich dan einfach mal mit der FormXY</p>
<pre><code class="language-cpp">Form2-&gt;test(FormXY);
</code></pre>
<p>aufrufen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/723706</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/723706</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Tue, 15 Feb 2005 09:51:09 GMT</pubDate></item><item><title><![CDATA[Reply to verständnisproblem - Zeiger für Form übergeben on Tue, 15 Feb 2005 09:52:29 GMT]]></title><description><![CDATA[<p>Der Typ der Form muss bei der Definition bekannt sein. Bei der Deklaration nicht unbedingt. Hier reicht auch eine Vorwärtsdeklaration.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/723708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/723708</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 15 Feb 2005 09:52:29 GMT</pubDate></item><item><title><![CDATA[Reply to verständnisproblem - Zeiger für Form übergeben on Tue, 15 Feb 2005 09:57:29 GMT]]></title><description><![CDATA[<p>ok, wie gesagt ich werde es noch testen..<br />
und das mit dem TWinControl für das Parent klappt auch super</p>
<p>thx für die kleine Weiterbildung <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>BigNeal</p>
]]></description><link>https://www.c-plusplus.net/forum/post/723716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/723716</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Tue, 15 Feb 2005 09:57:29 GMT</pubDate></item></channel></rss>