<?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[Ableitungsproblem: Konflikt mit Basisklasse (indy)]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich versuche eine Klasse zu schreiben, die von TIdTCPClient abgeleitet werden soll.</p>
<pre><code class="language-cpp">class TMyTCPClient : TIdTCPClient
{
  public:
    __fastcall TMyTCPClient(Classes::TComponent* AOwner);
};

_fastcall TMyTCPClient::TMyTCPClient(Classes::TComponent* AOwner) : TIdTCPClient(/*AOwner*/)
{

}
</code></pre>
<p>Bekomme dabei Fehlermeldung E2113 Virtuelle Funktion '_fastcall TMyTCPClient::TMyTCPClient(TComponent *)' verursacht Konflikte mit der Basisklasse 'TIdTCPClient'</p>
<p>Kann mir da einer sagen warum? Ich will nur die Indy Tools nutzen ohne dabei ein Formular nutzen zu müssen.</p>
<p>(Auszug aus der Oberklasse:)</p>
<pre><code class="language-cpp">class DELPHICLASS TIdTCPClient;
class PASCALIMPLEMENTATION TIdTCPClient : public Idtcpconnection::TIdTCPConnection 
{
	typedef Idtcpconnection::TIdTCPConnection inherited;

[...]

public:
	__fastcall virtual TIdTCPClient(Classes::TComponent* AOwner);
	__fastcall virtual ~TIdTCPClient(void);
	[...]	
};
</code></pre>
<p>DANKE</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/170537/ableitungsproblem-konflikt-mit-basisklasse-indy</link><generator>RSS for Node</generator><lastBuildDate>Thu, 13 Aug 2026 22:23:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/170537.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 17 Jan 2007 09:01:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ableitungsproblem: Konflikt mit Basisklasse (indy) on Wed, 17 Jan 2007 09:01:23 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich versuche eine Klasse zu schreiben, die von TIdTCPClient abgeleitet werden soll.</p>
<pre><code class="language-cpp">class TMyTCPClient : TIdTCPClient
{
  public:
    __fastcall TMyTCPClient(Classes::TComponent* AOwner);
};

_fastcall TMyTCPClient::TMyTCPClient(Classes::TComponent* AOwner) : TIdTCPClient(/*AOwner*/)
{

}
</code></pre>
<p>Bekomme dabei Fehlermeldung E2113 Virtuelle Funktion '_fastcall TMyTCPClient::TMyTCPClient(TComponent *)' verursacht Konflikte mit der Basisklasse 'TIdTCPClient'</p>
<p>Kann mir da einer sagen warum? Ich will nur die Indy Tools nutzen ohne dabei ein Formular nutzen zu müssen.</p>
<p>(Auszug aus der Oberklasse:)</p>
<pre><code class="language-cpp">class DELPHICLASS TIdTCPClient;
class PASCALIMPLEMENTATION TIdTCPClient : public Idtcpconnection::TIdTCPConnection 
{
	typedef Idtcpconnection::TIdTCPConnection inherited;

[...]

public:
	__fastcall virtual TIdTCPClient(Classes::TComponent* AOwner);
	__fastcall virtual ~TIdTCPClient(void);
	[...]	
};
</code></pre>
<p>DANKE</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1211177</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1211177</guid><dc:creator><![CDATA[ableitung]]></dc:creator><pubDate>Wed, 17 Jan 2007 09:01:23 GMT</pubDate></item><item><title><![CDATA[Reply to Ableitungsproblem: Konflikt mit Basisklasse (indy) on Wed, 17 Jan 2007 09:07:48 GMT]]></title><description><![CDATA[<p>Ein virtueller Konstruktor? Das gibt's echt? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>Ansonsten dürfte der Compiler ein Problem damit haben, daß du in der Initialisierungsliste den Parameter auskommentiert hast - und er nun vergeblich den Default-Ctor der Basisklasse sucht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1211183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1211183</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 17 Jan 2007 09:07:48 GMT</pubDate></item><item><title><![CDATA[Reply to Ableitungsproblem: Konflikt mit Basisklasse (indy) on Wed, 17 Jan 2007 09:15:46 GMT]]></title><description><![CDATA[<p>ups... also die Auskommentierung gehört da nicht hin!<br />
Also das AOwner ist schon da drin!</p>
<p>Der Fehler entsteht aber auch schon viel früher: Und zwar in der 5. Zeile, also hier:</p>
<pre><code class="language-cpp">__fastcall TMyTCPClient(Classes::TComponent* AOwner);
</code></pre>
<p>Und die Oberklasse ist wie gesagt der IndyClient, also hab ich nicht geschrieben. Und dort gibt es auch keinen Default-C'tor. Oder habe ich da was falsch verstanden??? <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1211192</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1211192</guid><dc:creator><![CDATA[ableitung]]></dc:creator><pubDate>Wed, 17 Jan 2007 09:15:46 GMT</pubDate></item><item><title><![CDATA[Reply to Ableitungsproblem: Konflikt mit Basisklasse (indy) on Wed, 17 Jan 2007 09:18:09 GMT]]></title><description><![CDATA[<p>Hallo</p>
<blockquote>
<p>Ich will nur die Indy Tools nutzen ohne dabei ein Formular nutzen zu müssen.</p>
</blockquote>
<p>Und was hat das mit deinen Ableitungen zu tun? Selbstverständlich kann man auch die reine Indy-Klasse ohne Form benutzen, du must sie nur selber erstellen und als Owner NULL übergeben. Und natürlich nach Gebrauch wieder löschen.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1211193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1211193</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 17 Jan 2007 09:18:09 GMT</pubDate></item><item><title><![CDATA[Reply to Ableitungsproblem: Konflikt mit Basisklasse (indy) on Wed, 17 Jan 2007 09:23:35 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Ein virtueller Konstruktor? Das gibt's echt? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
</blockquote>
<p>Ich wundere mich immer noch darüber, daß die Zeile <code>__fastcall virtual TIdTCPClient(Classes::TComponent* AOwner);</code> durch den Compiler gekommen ist. Hat der BCB eine Erweiterung des C++-Standards erfunden, bei der virtuelle Konstruktoren erlaubt sind? Und wenn ja, wie sind diese umgesetzt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1211195</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1211195</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 17 Jan 2007 09:23:35 GMT</pubDate></item><item><title><![CDATA[Reply to Ableitungsproblem: Konflikt mit Basisklasse (indy) on Wed, 17 Jan 2007 09:26:32 GMT]]></title><description><![CDATA[<blockquote>
<p>Und was hat das mit deinen Ableitungen zu tun? Selbstverständlich kann man auch die reine Indy-Klasse ohne Form benutzen, du must sie nur selber erstellen und als Owner NULL übergeben. Und natürlich nach Gebrauch wieder löschen.</p>
</blockquote>
<p>*arg* du hast recht... bin da noch nicht so firm. DANKE! Problem gelöst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1211197</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1211197</guid><dc:creator><![CDATA[ableitung]]></dc:creator><pubDate>Wed, 17 Jan 2007 09:26:32 GMT</pubDate></item><item><title><![CDATA[Reply to Ableitungsproblem: Konflikt mit Basisklasse (indy) on Wed, 17 Jan 2007 10:54:11 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Ich wundere mich immer noch darüber, daß die Zeile <code>__fastcall virtual TIdTCPClient(Classes::TComponent* AOwner);</code> durch den Compiler gekommen ist. Hat der BCB eine Erweiterung des C++-Standards erfunden, bei der virtuelle Konstruktoren erlaubt sind? Und wenn ja, wie sind diese umgesetzt?</p>
</blockquote>
<p>Nicht das ich in diesem Thema eine Leuchte wäre, aber es gibt tatsächlich Klassen, die einen virtuellen Konstruktor haben. TStrings zB. Allerdings kann man keine Objekte dieser Klassen erstellen. Sie dienen ausschließlich als abstrakte Basisklassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1211258</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1211258</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 17 Jan 2007 10:54:11 GMT</pubDate></item></channel></rss>