<?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[Funktionszeiger - Closure?]]></title><description><![CDATA[<p>Hey Ho !<br />
mal wieder ich <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 />
nun ich möchte gerne eine Funktion über einem Zeiger ausführen ...<br />
zwar funktioniert diese in einem Consolen-Programm aber sobald ich<br />
eine Form erstelle und einen Zeiger auf einer Funktion mache kommt folgender Fehler:<br />
Elementfunktion muß aufgerufen oder ihre Adresse übernommen werden<br />
Selbst als ich mit den &amp; die Adresse versucht zu übergeben habe kam der Fehler<br />
Konvertierung von 'void(<em>(_closure)())()' nach 'void(</em>)()' nicht möglich<br />
Wie muss ich den Pointer deklarieren damit dieser funktioniert und was ist ein _closure ?<br />
(da hab ich mich auch schon versucht zu informieren fand jedoch nichts gescheites)</p>
<pre><code>#include &lt;vcl.h&gt;
#pragma hdrstop

#include &quot;Unit1.h&quot;

#pragma package(smart_init)
#pragma resource &quot;*.dfm&quot;

TForm1 *Form1;

void (*myFunk)();

__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
	myFunk = &amp;TestFunk;
}

void TForm1::TestFunk() {

	Edit1-&gt;Text = &quot;Test&quot;;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/316449/funktionszeiger-closure</link><generator>RSS for Node</generator><lastBuildDate>Thu, 30 Jul 2026 09:36:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/316449.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 04 May 2013 11:48:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktionszeiger - Closure? on Sat, 04 May 2013 11:48:14 GMT]]></title><description><![CDATA[<p>Hey Ho !<br />
mal wieder ich <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 />
nun ich möchte gerne eine Funktion über einem Zeiger ausführen ...<br />
zwar funktioniert diese in einem Consolen-Programm aber sobald ich<br />
eine Form erstelle und einen Zeiger auf einer Funktion mache kommt folgender Fehler:<br />
Elementfunktion muß aufgerufen oder ihre Adresse übernommen werden<br />
Selbst als ich mit den &amp; die Adresse versucht zu übergeben habe kam der Fehler<br />
Konvertierung von 'void(<em>(_closure)())()' nach 'void(</em>)()' nicht möglich<br />
Wie muss ich den Pointer deklarieren damit dieser funktioniert und was ist ein _closure ?<br />
(da hab ich mich auch schon versucht zu informieren fand jedoch nichts gescheites)</p>
<pre><code>#include &lt;vcl.h&gt;
#pragma hdrstop

#include &quot;Unit1.h&quot;

#pragma package(smart_init)
#pragma resource &quot;*.dfm&quot;

TForm1 *Form1;

void (*myFunk)();

__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
	myFunk = &amp;TestFunk;
}

void TForm1::TestFunk() {

	Edit1-&gt;Text = &quot;Test&quot;;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2320895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2320895</guid><dc:creator><![CDATA[Trekarraz]]></dc:creator><pubDate>Sat, 04 May 2013 11:48:14 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger - Closure? on Sat, 04 May 2013 12:05:46 GMT]]></title><description><![CDATA[<p>Ist <strong>TestFunk</strong> denn static oder eine dynamische Member Funktion von TForm1?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2320897</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2320897</guid><dc:creator><![CDATA[Youka]]></dc:creator><pubDate>Sat, 04 May 2013 12:05:46 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger - Closure? on Sat, 04 May 2013 12:24:52 GMT]]></title><description><![CDATA[<pre><code>void (TForm1::*myFunk)();
myFunk = &amp;Form1::TestFunk;
TForm1 form;
// Aufruf
(form.*myFunk)();
</code></pre>
<p>Ohne Gewähr...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2320901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2320901</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Sat, 04 May 2013 12:24:52 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger - Closure? on Sat, 04 May 2013 12:40:20 GMT]]></title><description><![CDATA[<p>thx ^^<br />
das hat mir geholfen ! danke <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/2320904</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2320904</guid><dc:creator><![CDATA[Trekarraz]]></dc:creator><pubDate>Sat, 04 May 2013 12:40:20 GMT</pubDate></item></channel></rss>