<?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[Callback Funktion aus dll]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich bin auf dem Gebiet Callback Funktionen noch relativ unerfahren und hoffe ihr könnt mir weiterhelfen. Ich hab das Forum schon nach ähnlichen Threads durchsucht aber nix passendes gefunden.</p>
<p>Folgende Ausgangslage:</p>
<p>Ich habe eine fremde DLL in meine Applikation(MFC) eingebunden und benötige diese Funktion aus dem Header file die sich in einem Struct befindet:</p>
<pre><code>struct _FOO_CALLBACK{
.
.
.
long (*ReadMessage)(char *MessageNumber, char *MessageText);

};
</code></pre>
<p>So weit ich das verstanden hab wird die ReadMessage Funktion in unbestimmten Abständen von der DLL aufgerufen und teilt mir die MessageNumber und den MessageText mit, den ich dann gerne mit meiner Applikation ausgeben würde, z.B. in einer ListBox o.ä.(Nr. 1, &quot;Hallo Welt&quot;, Nr. 2, &quot;Foo bar&quot;, usw)</p>
<p>Nun liegt es an mit den Code für die Funktion zu schreiben die die ListBox mit den Messages füllt, es ist mir allerdings ein Rätsel wie ich das anstellen soll.</p>
<p>So irgendwie hab ich mir das in meiner kindlichen Naivität vorgestellt...</p>
<pre><code>long _FOO_CALLBACK::ReadMessage(char *MessageNumber, char *MessageText){
.
.
.
m_cListBox.AddString(MessageText);
return 1;
}
</code></pre>
<p>Wo soll das aber hin und wie genau muss das aussehen?</p>
<p>Bedanke mich schon im Voraus.</p>
<p>Gurß<br />
Shane</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/182386/callback-funktion-aus-dll</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 20:30:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/182386.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 24 May 2007 14:29:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Callback Funktion aus dll on Thu, 24 May 2007 14:29:53 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich bin auf dem Gebiet Callback Funktionen noch relativ unerfahren und hoffe ihr könnt mir weiterhelfen. Ich hab das Forum schon nach ähnlichen Threads durchsucht aber nix passendes gefunden.</p>
<p>Folgende Ausgangslage:</p>
<p>Ich habe eine fremde DLL in meine Applikation(MFC) eingebunden und benötige diese Funktion aus dem Header file die sich in einem Struct befindet:</p>
<pre><code>struct _FOO_CALLBACK{
.
.
.
long (*ReadMessage)(char *MessageNumber, char *MessageText);

};
</code></pre>
<p>So weit ich das verstanden hab wird die ReadMessage Funktion in unbestimmten Abständen von der DLL aufgerufen und teilt mir die MessageNumber und den MessageText mit, den ich dann gerne mit meiner Applikation ausgeben würde, z.B. in einer ListBox o.ä.(Nr. 1, &quot;Hallo Welt&quot;, Nr. 2, &quot;Foo bar&quot;, usw)</p>
<p>Nun liegt es an mit den Code für die Funktion zu schreiben die die ListBox mit den Messages füllt, es ist mir allerdings ein Rätsel wie ich das anstellen soll.</p>
<p>So irgendwie hab ich mir das in meiner kindlichen Naivität vorgestellt...</p>
<pre><code>long _FOO_CALLBACK::ReadMessage(char *MessageNumber, char *MessageText){
.
.
.
m_cListBox.AddString(MessageText);
return 1;
}
</code></pre>
<p>Wo soll das aber hin und wie genau muss das aussehen?</p>
<p>Bedanke mich schon im Voraus.</p>
<p>Gurß<br />
Shane</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1291448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1291448</guid><dc:creator><![CDATA[Shane]]></dc:creator><pubDate>Thu, 24 May 2007 14:29:53 GMT</pubDate></item><item><title><![CDATA[Reply to Callback Funktion aus dll on Fri, 25 May 2007 08:11:49 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ReadMessage ist selber keine Funktion, sondern ein Funktionszeiger, d.h.<br />
du erstellst dir selber eine Funktion mit beliebigem Namen und weist sie dann dem Funktionszeiger zu, d.h.</p>
<pre><code class="language-cpp">long MyReadMessage(char *MessageNumber, char *MessageText)
{
  m_cListBox.AddString(MessageText);
  return 1;
}

struct _FOO_CALLBACK callback;
callback.ReadMessage = MyReadMessage;
</code></pre>
<p>Jetzt mußt du der DLL &quot;nur noch&quot; deine Callback-Struktur übergeben (dafür sollte es dann eine andere Funktion geben).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1291989</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1291989</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Fri, 25 May 2007 08:11:49 GMT</pubDate></item><item><title><![CDATA[Reply to Callback Funktion aus dll on Fri, 25 May 2007 11:25:30 GMT]]></title><description><![CDATA[<p>Sensationell,</p>
<p>es hat funktioniert, tausend Dank.<br />
Jetzt wo du das so erklärt hast ergibt das Ganze nun auch einen Sinn.</p>
<p>Nochmals danke.<br />
Gruß<br />
Shane</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1292153</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1292153</guid><dc:creator><![CDATA[Shane]]></dc:creator><pubDate>Fri, 25 May 2007 11:25:30 GMT</pubDate></item></channel></rss>