<?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[DLL mit Schnittstellenfunktion]]></title><description><![CDATA[<p>Ich möchte eine DLL erzeugen, die eine Schnittstellenfunktion exportiert, die einen Zeiger auf ein Objekt liefert. Hat jemand einen Tip oder ein kleines Beispiel?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/66005/dll-mit-schnittstellenfunktion</link><generator>RSS for Node</generator><lastBuildDate>Fri, 05 Jun 2026 17:58:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/66005.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 24 Feb 2004 12:09:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to DLL mit Schnittstellenfunktion on Tue, 24 Feb 2004 12:09:19 GMT]]></title><description><![CDATA[<p>Ich möchte eine DLL erzeugen, die eine Schnittstellenfunktion exportiert, die einen Zeiger auf ein Objekt liefert. Hat jemand einen Tip oder ein kleines Beispiel?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/466713</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/466713</guid><dc:creator><![CDATA[muzel]]></dc:creator><pubDate>Tue, 24 Feb 2004 12:09:19 GMT</pubDate></item><item><title><![CDATA[Reply to DLL mit Schnittstellenfunktion on Tue, 24 Feb 2004 12:36:11 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#define MY_DLL_API __declspec(dllexport)

class IMyClass {
pulbic:
    virtual void Method1()   = 0;
    virtual void Method2()   = 0;
}

MY_DLL_API IMyClass *CreateMyObject();
</code></pre>
<p>In der Dll leitest du dann ne Klasse von IMyClass ab in der du den code implementierst. <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/466738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/466738</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Tue, 24 Feb 2004 12:36:11 GMT</pubDate></item><item><title><![CDATA[Reply to DLL mit Schnittstellenfunktion on Wed, 25 Feb 2004 10:16:09 GMT]]></title><description><![CDATA[<p>Danke für den Tip! Ich bin bloß noch nicht drauf gekommen, wie ich dann in der Anwendung auf die Funktionen zugreife. Wäre schön, wenn mir das noch jemand erklären könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/467397</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/467397</guid><dc:creator><![CDATA[muzel]]></dc:creator><pubDate>Wed, 25 Feb 2004 10:16:09 GMT</pubDate></item><item><title><![CDATA[Reply to DLL mit Schnittstellenfunktion on Wed, 25 Feb 2004 12:07:21 GMT]]></title><description><![CDATA[<p>MyDLL.h</p>
<pre><code class="language-cpp">#ifdef MY_DLL_EXPORTS
#define MY_DLL_API __declspec(dllexport)
#else
#define MY_DLL_API __declspec(dllimport)
#endif

class IMyClass {
public:
    virtual void Method1()   = 0;
    virtual void Method2()   = 0;
}

MY_DLL_API IMyClass *CreateMyObject();  
MY_DLL_API void DeleteMyObject(IMyClass *pClass);
</code></pre>
<p>MyDLL.cpp</p>
<pre><code class="language-cpp">#define MY_DLL_EXPORTS // DLL code - wir exportieren die funktionen
#include &quot;MyDLL.h&quot;

// die implementation der klasse
class CMyClass : public IMyClass
{
public:
   void Method1() {
      // blabla
   }
   void Method2() {
      // blabla
   }
}

// die exportierten funktionen
IMyClass *CreateMyObject()
{
   return new CMyClass();
}
void DeleteMyObject(IMyClass *pClass)
{
   delete pClass;
}
</code></pre>
<p>MyDLL.def</p>
<pre><code class="language-cpp">EXPORTS
   CreateMyObject
   DeleteMyObject
</code></pre>
<p>MyProgram.cpp</p>
<pre><code class="language-cpp">#include &quot;MyDLL.h&quot; // diesmal ohne #define MY_DLL_EXPORTS

//...
IMyClass *pObj = CreateMyObject();
pObj-&gt;Method1();
DeleteMyObject(pObj);
//...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/467447</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/467447</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Wed, 25 Feb 2004 12:07:21 GMT</pubDate></item><item><title><![CDATA[Reply to DLL mit Schnittstellenfunktion on Wed, 25 Feb 2004 12:14:33 GMT]]></title><description><![CDATA[<p>ich danke auch <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="🙂"
    /><br />
schön kurz und bündig. habe selber gerade schon vergessen gehabt, wie das gehen soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/467454</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/467454</guid><dc:creator><![CDATA[alex-t]]></dc:creator><pubDate>Wed, 25 Feb 2004 12:14:33 GMT</pubDate></item></channel></rss>