<?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[Beliebige Klassen an Funktion übergeben]]></title><description><![CDATA[<p>Hi.</p>
<p>Ich habe diverse Frames welche ich in mein Projekt einbauen möchte.<br />
Ich würde gern das laden vereinfach.</p>
<p>Momentan sieht es so aus:</p>
<pre><code class="language-cpp">TMyFrame1 *Frame = new TMyFrame1(this);
Frame-&gt;Parent = this;
Frame-&gt;Left = 50;
Frame-&gt;Top = 50;
Frame-&gt;Align = alClient;

TMyFrame2 *Frame = new TMyFrame2(this);
Frame-&gt;Parent = this;
Frame-&gt;Left = 150;
Frame-&gt;Top = 150;
Frame-&gt;Align = alClient;

TMyFrame3 *Frame = new TMyFrame3(this);
Frame-&gt;Parent = this;
Frame-&gt;Left = 250;
Frame-&gt;Top = 250;
Frame-&gt;Align = alClient;
</code></pre>
<p>und so weiter.</p>
<p>Kann man das eventuell vereinfachen?<br />
Ich dachte da so an eine Funktion der man das Frame übergibt und die Position.</p>
<p>InsertFrame(TMyFrame1,50,50);<br />
InsertFrame(TMyFrame2,150,150);<br />
InsertFrame(TMyFrame3,250,250);</p>
<p>Ich habe es mal so probiert, da ich nicht weiss wie man direkt eine Klasse übergibt und damit arbeitet.</p>
<p>Wenn ich es so mache, klappt es leider nicht. Es erscheint das Frame nicht.</p>
<pre><code class="language-cpp">TMyFrame1 *Frame;
InsertFrame(Frame);

void __fastcall TMainForm::InsertFrame(TFrame *Frame, int X, int Y)
{
Frame = new TFrame(this);
Frame-&gt;Parent = this;
Frame-&gt;Left = X;
Frame-&gt;Top = Y;
Frame-&gt;Align = alClient;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/171330/beliebige-klassen-an-funktion-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 04:48:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/171330.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 24 Jan 2007 14:27:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Beliebige Klassen an Funktion übergeben on Wed, 24 Jan 2007 14:27:52 GMT]]></title><description><![CDATA[<p>Hi.</p>
<p>Ich habe diverse Frames welche ich in mein Projekt einbauen möchte.<br />
Ich würde gern das laden vereinfach.</p>
<p>Momentan sieht es so aus:</p>
<pre><code class="language-cpp">TMyFrame1 *Frame = new TMyFrame1(this);
Frame-&gt;Parent = this;
Frame-&gt;Left = 50;
Frame-&gt;Top = 50;
Frame-&gt;Align = alClient;

TMyFrame2 *Frame = new TMyFrame2(this);
Frame-&gt;Parent = this;
Frame-&gt;Left = 150;
Frame-&gt;Top = 150;
Frame-&gt;Align = alClient;

TMyFrame3 *Frame = new TMyFrame3(this);
Frame-&gt;Parent = this;
Frame-&gt;Left = 250;
Frame-&gt;Top = 250;
Frame-&gt;Align = alClient;
</code></pre>
<p>und so weiter.</p>
<p>Kann man das eventuell vereinfachen?<br />
Ich dachte da so an eine Funktion der man das Frame übergibt und die Position.</p>
<p>InsertFrame(TMyFrame1,50,50);<br />
InsertFrame(TMyFrame2,150,150);<br />
InsertFrame(TMyFrame3,250,250);</p>
<p>Ich habe es mal so probiert, da ich nicht weiss wie man direkt eine Klasse übergibt und damit arbeitet.</p>
<p>Wenn ich es so mache, klappt es leider nicht. Es erscheint das Frame nicht.</p>
<pre><code class="language-cpp">TMyFrame1 *Frame;
InsertFrame(Frame);

void __fastcall TMainForm::InsertFrame(TFrame *Frame, int X, int Y)
{
Frame = new TFrame(this);
Frame-&gt;Parent = this;
Frame-&gt;Left = X;
Frame-&gt;Top = Y;
Frame-&gt;Align = alClient;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1216039</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216039</guid><dc:creator><![CDATA[Schnappi]]></dc:creator><pubDate>Wed, 24 Jan 2007 14:27:52 GMT</pubDate></item><item><title><![CDATA[Reply to Beliebige Klassen an Funktion übergeben on Wed, 24 Jan 2007 14:44:19 GMT]]></title><description><![CDATA[<p>Mit Templates geht das wunderbar <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>
<pre><code class="language-cpp">template&lt;typename T&gt;
void __fastcall TMainForm::InsertFrame(T* Frame, int X, int Y)
{
Frame-&gt;Parent = this;
Frame-&gt;Left = X;
Frame-&gt;Top = Y;
Frame-&gt;Align = alClient;
}

int main()
{
TMyFrame1 *Frame1 = new TMyFrame1(this);
InsertFrame&lt;TMyFrame1&gt;(Frame1,50,50);   //Weiss jetzt grad nicht mehr ob die Typangabe  &lt;TMyFrame1&gt; hier überhaupt nötig ist..
TMyFrame2 *Frame2 = new TMyFrame2(this);
InsertFrame&lt;TMyFrame2&gt;(Frame2,150,150);   
//usw...
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1216058</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216058</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Wed, 24 Jan 2007 14:44:19 GMT</pubDate></item><item><title><![CDATA[Reply to Beliebige Klassen an Funktion übergeben on Wed, 24 Jan 2007 14:57:34 GMT]]></title><description><![CDATA[<p>-.-</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1216071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216071</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Wed, 24 Jan 2007 14:57:34 GMT</pubDate></item><item><title><![CDATA[Reply to Beliebige Klassen an Funktion übergeben on Wed, 24 Jan 2007 15:02:03 GMT]]></title><description><![CDATA[<p>Das <strong>new</strong> bekommt man nicht auch noch in InsertFrame() ? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1216073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216073</guid><dc:creator><![CDATA[Schnappi]]></dc:creator><pubDate>Wed, 24 Jan 2007 15:02:03 GMT</pubDate></item><item><title><![CDATA[Reply to Beliebige Klassen an Funktion übergeben on Wed, 24 Jan 2007 15:03:18 GMT]]></title><description><![CDATA[<p>Warum dann nicht gleich so</p>
<pre><code class="language-cpp">template&lt;typename T&gt;
T*__fastcall TMainForm::InsertFrame(int X, int Y)
{
  T* Frame = new T(this);
  Frame-&gt;Parent = this;
  Frame-&gt;Left = X;
  Frame-&gt;Top = Y;
  Frame-&gt;Align = alClient;
  return Frame;
}

int main()
{
TMyFrame1 *Frame1 = InsertFrame&lt;TMyFrame1&gt;(50,50);  
TMyFrame2 *Frame2 = InsertFrame&lt;TMyFrame2&gt;(150,150);  
//usw...
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1216076</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216076</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 24 Jan 2007 15:03:18 GMT</pubDate></item><item><title><![CDATA[Reply to Beliebige Klassen an Funktion übergeben on Wed, 24 Jan 2007 15:14:14 GMT]]></title><description><![CDATA[<p>Wau! Grosses Dankeschön an euch beide. Das klappt ja primstens! <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 />
Sollte mich wohl doch mal mit Templates beschäftigen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1216086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216086</guid><dc:creator><![CDATA[Schnappi]]></dc:creator><pubDate>Wed, 24 Jan 2007 15:14:14 GMT</pubDate></item><item><title><![CDATA[Reply to Beliebige Klassen an Funktion übergeben on Wed, 24 Jan 2007 15:20:48 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>Warum dann nicht gleich so</p>
</blockquote>
<p>Weil ich nicht gern mit new erstellte Objekte aus ner Funktion zurückgebe, gibt irgendwie ein Puff wer dann aufräumt. Mit smart pointern wärs natürlich eleganter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1216097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216097</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Wed, 24 Jan 2007 15:20:48 GMT</pubDate></item><item><title><![CDATA[Reply to Beliebige Klassen an Funktion übergeben on Wed, 24 Jan 2007 15:25:33 GMT]]></title><description><![CDATA[<p>Das ist zwar prinzipiell richtig, spielt hier aber keine Rolle, da bei dieser Art der Erstellung der Owner (hier TMainForm) für das Wegräumen der Pointer sorgt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1216102</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216102</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 24 Jan 2007 15:25:33 GMT</pubDate></item><item><title><![CDATA[Reply to Beliebige Klassen an Funktion übergeben on Wed, 24 Jan 2007 15:34:27 GMT]]></title><description><![CDATA[<p>Ah ok, kenn mich mit VCL nicht mehr gut aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1216108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216108</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Wed, 24 Jan 2007 15:34:27 GMT</pubDate></item></channel></rss>