<?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[Eine Callback Funktion???]]></title><description><![CDATA[<p>Hallo alle zusammen,<br />
ich habe eine C-Funktion, die ich in einen C++-MFC-Anwendung implementieren muß. Das Problem diese in C geschriebenen Funktion erhält als Parameter den Namen einer anderen Funktion. Ich habe hier unten den C-Code mit der Header-Datei beschrieben falls jemand mir behilflich sein könnte.Die Frage ist wie ich die zwei Funktionen in der Klasse implementieren kann???</p>
<pre><code class="language-cpp">int main(void)
{
...
/* Diese Fkt. &quot;RegisterEveryNSamplesEvent&quot; hat als Parameter eine andere Fkt. &quot;EveryNCallback&quot; */
RegisterEveryNSamplesEvent(a,b,c,d,EveryNCallback,callbackData);
...
...
return 0;
}
/* Hier wird die &quot;EveryNCallback&quot; definiert */
int CVICALLBACK EveryNCallback(int x,float y,uInt z, void *callbackData)
{
   ...
   ...
   ...
  return 0;
}
</code></pre>
<p>In der header Datei ist CVICALLBACK so definiert:</p>
<pre><code class="language-cpp">...
#define CVICALLBACK     CVICDECL
...
#define CVICALLBACK     CVICDECL
...
...
typedef int (CVICALLBACK *EveryNSamplesEventCallbackPtr)(TaskHandle taskHandle, int everyNsamplesEventType, uInt nSamples, void *callbackData);
typedef int (CVICALLBACK *DoneEventCallbackPtr)(TaskHandle taskHandle, int status, void *callbackData);
typedef int (CVICALLBACK *SignalEventCallbackPtr)(TaskHandle taskHandle, int signalID, void *callbackData);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/173153/eine-callback-funktion</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 03:40:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/173153.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 12 Feb 2007 14:02:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Eine Callback Funktion??? on Mon, 12 Feb 2007 14:02:54 GMT]]></title><description><![CDATA[<p>Hallo alle zusammen,<br />
ich habe eine C-Funktion, die ich in einen C++-MFC-Anwendung implementieren muß. Das Problem diese in C geschriebenen Funktion erhält als Parameter den Namen einer anderen Funktion. Ich habe hier unten den C-Code mit der Header-Datei beschrieben falls jemand mir behilflich sein könnte.Die Frage ist wie ich die zwei Funktionen in der Klasse implementieren kann???</p>
<pre><code class="language-cpp">int main(void)
{
...
/* Diese Fkt. &quot;RegisterEveryNSamplesEvent&quot; hat als Parameter eine andere Fkt. &quot;EveryNCallback&quot; */
RegisterEveryNSamplesEvent(a,b,c,d,EveryNCallback,callbackData);
...
...
return 0;
}
/* Hier wird die &quot;EveryNCallback&quot; definiert */
int CVICALLBACK EveryNCallback(int x,float y,uInt z, void *callbackData)
{
   ...
   ...
   ...
  return 0;
}
</code></pre>
<p>In der header Datei ist CVICALLBACK so definiert:</p>
<pre><code class="language-cpp">...
#define CVICALLBACK     CVICDECL
...
#define CVICALLBACK     CVICDECL
...
...
typedef int (CVICALLBACK *EveryNSamplesEventCallbackPtr)(TaskHandle taskHandle, int everyNsamplesEventType, uInt nSamples, void *callbackData);
typedef int (CVICALLBACK *DoneEventCallbackPtr)(TaskHandle taskHandle, int status, void *callbackData);
typedef int (CVICALLBACK *SignalEventCallbackPtr)(TaskHandle taskHandle, int signalID, void *callbackData);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1227416</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1227416</guid><dc:creator><![CDATA[Sali]]></dc:creator><pubDate>Mon, 12 Feb 2007 14:02:54 GMT</pubDate></item><item><title><![CDATA[Reply to Eine Callback Funktion??? on Mon, 12 Feb 2007 17:13:39 GMT]]></title><description><![CDATA[<p>hmm wo ist dein Problem? Am einfachsten ist es wenn du dir mit typedef das passende definierst ... und du kanst eine Funktion auch als Parameter übergeben ... ist nicht so ads Problem ...</p>
<pre><code class="language-cpp">INT_PTR CALLBACK DlgProc(HWND, UINT, WPARAM, LPARAM)
{
    return (INT_PTR)FALSE;
}
</code></pre>
<p>So .. sagen wir mal das ist unsere Callback ... muss auch net unbedingt soo aussehen ^^ Nur für die Beispielfunktion halt schon ...</p>
<pre><code class="language-cpp">DialogBox(hInstance, MAKEINTRESOURCE(IDD_MY), NULL, DlgProc);
</code></pre>
<p>Auch hier ist wieder wichtig das der Compiler wenigstens die Funktionsdecleration vor der übergabe als Paraqmeter haben muss ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1227601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1227601</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Mon, 12 Feb 2007 17:13:39 GMT</pubDate></item></channel></rss>