<?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[Funbktionspointer als Eigenschaft]]></title><description><![CDATA[<p>Hoi zäme,</p>
<p>Ich will eine Eigenschaft in meiner Klasse einfügen, welche einen Funktions-Pointer der wie folgt erstellt wurde, verlangt.</p>
<pre><code class="language-cpp">void __fastcall (*fuk_p)(PPO2*);
</code></pre>
<p>Wie realisiere ich sowas, das ich im Prinzip eine Funktion in der Klasse aufrufen kann, die Funktion sich aber in einer anderen Klasse befindet...?<br />
Danke! <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="😕"
    /> <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/topic/90820/funbktionspointer-als-eigenschaft</link><generator>RSS for Node</generator><lastBuildDate>Mon, 06 Jul 2026 23:54:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/90820.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 02 Nov 2004 13:53:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funbktionspointer als Eigenschaft on Tue, 02 Nov 2004 13:53:52 GMT]]></title><description><![CDATA[<p>Hoi zäme,</p>
<p>Ich will eine Eigenschaft in meiner Klasse einfügen, welche einen Funktions-Pointer der wie folgt erstellt wurde, verlangt.</p>
<pre><code class="language-cpp">void __fastcall (*fuk_p)(PPO2*);
</code></pre>
<p>Wie realisiere ich sowas, das ich im Prinzip eine Funktion in der Klasse aufrufen kann, die Funktion sich aber in einer anderen Klasse befindet...?<br />
Danke! <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="😕"
    /> <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/642883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/642883</guid><dc:creator><![CDATA[roN]]></dc:creator><pubDate>Tue, 02 Nov 2004 13:53:52 GMT</pubDate></item><item><title><![CDATA[Reply to Funbktionspointer als Eigenschaft on Tue, 02 Nov 2004 14:24:55 GMT]]></title><description><![CDATA[<p>Siehe Signatur / Komponentenentwicklung/ Ereignisse.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/642916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/642916</guid><dc:creator><![CDATA[AndreasW]]></dc:creator><pubDate>Tue, 02 Nov 2004 14:24:55 GMT</pubDate></item><item><title><![CDATA[Reply to Funbktionspointer als Eigenschaft on Tue, 02 Nov 2004 15:13:35 GMT]]></title><description><![CDATA[<p>Profi_p-&gt;ParamError=IfError;<br />
Wenn ich so der Eigenschaft den Funktionspointer übergeben will, kruieg ich folgenden Fehler:&quot;[C++ Fehler] MainForm.cpp(4404): E2235 Elementfunktion muß aufgerufen oder ihre Adresse übernommen werden&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/642933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/642933</guid><dc:creator><![CDATA[roN]]></dc:creator><pubDate>Tue, 02 Nov 2004 15:13:35 GMT</pubDate></item><item><title><![CDATA[Reply to Funbktionspointer als Eigenschaft on Wed, 03 Nov 2004 10:10:36 GMT]]></title><description><![CDATA[<p>Okay, ich konnte es wie folgt lösen:</p>
<pre><code class="language-cpp">// Typedef:
typedef void __fastcall (__closure *funk_p)(PPO2 *Value);
//property-declaration:
__property funk_p ParamError={ read=GetParamError, write=SetParamError };
//private-var &amp; Access-Function-declarations:
funk_p* FParamError;
void __fastcall SetParamError(funk_p value);
funk_p __fastcall GetParamError();
//Access-Function-implementations:
void __fastcall TProfibus::SetParamError(funk_p value)
{
        if((*FParamError) != value) {
                (*FParamError) = value;
        }
}
//--------------------------------------------------------------------------
-

funk_p __fastcall TProfibus::GetParamError()
{
        return (*FParamError);
}
//--------------------------------------------------------------------------
</code></pre>
<p>Jetzt hab' ich aber noch das Problem, dass ich der Eigenschaft gerne im Konstruktor einen Default-Wert übergeben würde, damit ich vor dem Aufruf mit einer if() abchecken kann, ob ein gültiger Zeiger vorhanden ist. z.B. so:</p>
<pre><code class="language-cpp">if (this-&gt;ParamError)
  {
  this-&gt;ParamError(&amp;locrec_struct);
  i=DEF_CONTROL+1;
  }
</code></pre>
<p>Aber wenn ich einfach im Konstruktor <strong>this-&gt;ParamError=NULL;</strong> einfüge, tritt eine Exception auf, wesshalb bloss? wie kann ich das umgehen? Danke!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/643422</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/643422</guid><dc:creator><![CDATA[roN]]></dc:creator><pubDate>Wed, 03 Nov 2004 10:10:36 GMT</pubDate></item><item><title><![CDATA[Reply to Funbktionspointer als Eigenschaft on Wed, 03 Nov 2004 18:51:50 GMT]]></title><description><![CDATA[<p>wenn du<br />
if(ParamError)</p>
<p>abfragst, rufst du die Getter-Methode auf, in der der Pointer dereferenziert wird. Wenn der Null ist, gibt das eine Zugriffsverletzung.<br />
Andere Frage, warum nimmst du einen Pointer auf einen Pointer ?<br />
Das ist meiner Meinung nach ziemlich überflüssig.<br />
funk_p FParamError;</p>
<p>reicht doch aus. Das ist doch schon ein Pointer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/643939</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/643939</guid><dc:creator><![CDATA[AndreasW]]></dc:creator><pubDate>Wed, 03 Nov 2004 18:51:50 GMT</pubDate></item><item><title><![CDATA[Reply to Funbktionspointer als Eigenschaft on Thu, 04 Nov 2004 07:58:16 GMT]]></title><description><![CDATA[<p>AndreasW schrieb:</p>
<blockquote>
<p>wenn du<br />
if(ParamError)</p>
<p>abfragst, rufst du die Getter-Methode auf, in der der Pointer dereferenziert wird. Wenn der Null ist, gibt das eine Zugriffsverletzung.<br />
Andere Frage, warum nimmst du einen Pointer auf einen Pointer ?<br />
Das ist meiner Meinung nach ziemlich überflüssig.<br />
funk_p FParamError;</p>
<p>reicht doch aus. Das ist doch schon ein Pointer.</p>
</blockquote>
<p>Das ist korrekt, ich hab es jetzt geändert und jetzt läufts... <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>
]]></description><link>https://www.c-plusplus.net/forum/post/644230</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/644230</guid><dc:creator><![CDATA[roN]]></dc:creator><pubDate>Thu, 04 Nov 2004 07:58:16 GMT</pubDate></item></channel></rss>