<?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[Sender auf Komponentennamen abfragen?]]></title><description><![CDATA[<p>Ich würde gerne über eine Funktion den Namen jeder beliebigen Komponente erhalten wollen. Ist dies möglich oder muss ich für jeden Komponententyp wie TButton und TSpeedButton eine seperate Funktion schaffen und entsprechend wie hier auskommentiert casten?</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------
AnsiString __fastcall TMainForm::GetName(TObject *Sender)
{
    //return ((TButton *)Sender)-&gt;Name;
    //return ((TSpeedButton *)Sender)-&gt;Name;
    return ????????;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::Button1Click(TObject *Sender)
{
    Caption = GetName(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::SpeedButton1Click(TObject *Sender)
{
    Caption = GetName(Sender);
}
//---------------------------------------------------------------------------
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/202762/sender-auf-komponentennamen-abfragen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 19 Aug 2026 10:46:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/202762.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 15 Jan 2008 09:45:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Sender auf Komponentennamen abfragen? on Tue, 15 Jan 2008 09:45:29 GMT]]></title><description><![CDATA[<p>Ich würde gerne über eine Funktion den Namen jeder beliebigen Komponente erhalten wollen. Ist dies möglich oder muss ich für jeden Komponententyp wie TButton und TSpeedButton eine seperate Funktion schaffen und entsprechend wie hier auskommentiert casten?</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------
AnsiString __fastcall TMainForm::GetName(TObject *Sender)
{
    //return ((TButton *)Sender)-&gt;Name;
    //return ((TSpeedButton *)Sender)-&gt;Name;
    return ????????;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::Button1Click(TObject *Sender)
{
    Caption = GetName(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::SpeedButton1Click(TObject *Sender)
{
    Caption = GetName(Sender);
}
//---------------------------------------------------------------------------
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1436840</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436840</guid><dc:creator><![CDATA[humpel]]></dc:creator><pubDate>Tue, 15 Jan 2008 09:45:29 GMT</pubDate></item><item><title><![CDATA[Reply to Sender auf Komponentennamen abfragen? on Tue, 15 Jan 2008 09:48:39 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Die Eigenschaft Name taucht ab TComponent auf (siehe Hierarchie in der Hilfe). Es reicht also zu dahin zu casten.</p>
<pre><code class="language-cpp">AnsiString __fastcall TMainForm::GetName(TObject *Sender)
{
    TComponent* comp = dynamic_cast&lt;TComponent*&gt;(Sender);
    if( comp ) return comp-&gt;Name;
    return &quot;&quot;;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1436843</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436843</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 15 Jan 2008 09:48:39 GMT</pubDate></item><item><title><![CDATA[Reply to Sender auf Komponentennamen abfragen? on Tue, 15 Jan 2008 09:50:20 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Nein es reicht wenn du alles auf TComponent castest.</p>
<p>/Edit : zu spät</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1436845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436845</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Tue, 15 Jan 2008 09:50:20 GMT</pubDate></item><item><title><![CDATA[Reply to Sender auf Komponentennamen abfragen? on Tue, 15 Jan 2008 09:54:11 GMT]]></title><description><![CDATA[<p>Super! Großes Dankeschön an euch beide! <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="👍"
    /><br />
Wieder was gelernt <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/1436847</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436847</guid><dc:creator><![CDATA[humpel]]></dc:creator><pubDate>Tue, 15 Jan 2008 09:54:11 GMT</pubDate></item><item><title><![CDATA[Reply to Sender auf Komponentennamen abfragen? on Tue, 15 Jan 2008 09:56:02 GMT]]></title><description><![CDATA[<p>Da Name eine (public) Eigenschaft der Basisklasse TComponent ist, reicht es, wenn du das Objekt daraufhin 'castest':</p>
<pre><code class="language-cpp">AnsiString __fastcall TMainForm::GetName(TObject *Sender)
{
    return (static_cast&lt;TComponent*&gt;(Sender))-&gt;Name;
}
</code></pre>
<p>Wenn du nicht weißt, daß es sich um eine Komponente handelt, kannst du auch dynamic_cast&lt;&gt; einsetzen und auf 0 überprüfen.</p>
<p>Edit: man bin ich langsam, aber eben standen bei mir noch keine Antworten...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1436849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436849</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Tue, 15 Jan 2008 09:56:02 GMT</pubDate></item></channel></rss>