<?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[Klassendlls Importieren?]]></title><description><![CDATA[<p>Hallo ,</p>
<p>Ich möchte gerne eine komplette Klasse in der Dll exportieren und vor allem dann in einer Anderen Anwendung importieren(kein Framework,nur eine &quot;Arbeitsklasse&quot; in STL).</p>
<p>Der Export klappt, aber der import leider nicht.</p>
<p>Ich habe das beispiel vom Fatman98 ausprobiert.<br />
Der Import von einzelnen Funktionen außerhalb der Klassen funktioniert wie gewohnt mit __declspec(dllimport)... ohne Probleme</p>
<p>Könnte mir jemand weiterhelfen wie die direktive für den Klassen-Dll Import lautet?</p>
<p>Danke!!</p>
<p>Dominik</p>
<pre><code>#ifndef __CLASS_H
#define __CLASS_H

# define DLL_EXP __declspec(dllexport)

//Funktion geht mit dllimport ohne Probleme!
__declspec(dllexport) void ShowHallo(AnsiString text);

class DLL_EXP Class
{

private:
int quad;
//...
protected:
//...
public:
        Class();
        void SetQ(int nr);
        int GetQ(void);
//...

};

void ShowHallo(AnsiString text)
{
ShowMessage(text);
}

#endif

#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
        return 1;
}
//---------------------------------------------------------------------------

Class::Class():quad(0)
{

}

void Class::SetQ(int nr)
{
if(nr&lt;=0)quad=0;
quad=nr*nr;
}

int Class::GetQ(void)
{
return quad;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/101244/klassendlls-importieren</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Jul 2026 11:09:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/101244.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 14 Feb 2005 16:51:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassendlls Importieren? on Mon, 14 Feb 2005 16:51:59 GMT]]></title><description><![CDATA[<p>Hallo ,</p>
<p>Ich möchte gerne eine komplette Klasse in der Dll exportieren und vor allem dann in einer Anderen Anwendung importieren(kein Framework,nur eine &quot;Arbeitsklasse&quot; in STL).</p>
<p>Der Export klappt, aber der import leider nicht.</p>
<p>Ich habe das beispiel vom Fatman98 ausprobiert.<br />
Der Import von einzelnen Funktionen außerhalb der Klassen funktioniert wie gewohnt mit __declspec(dllimport)... ohne Probleme</p>
<p>Könnte mir jemand weiterhelfen wie die direktive für den Klassen-Dll Import lautet?</p>
<p>Danke!!</p>
<p>Dominik</p>
<pre><code>#ifndef __CLASS_H
#define __CLASS_H

# define DLL_EXP __declspec(dllexport)

//Funktion geht mit dllimport ohne Probleme!
__declspec(dllexport) void ShowHallo(AnsiString text);

class DLL_EXP Class
{

private:
int quad;
//...
protected:
//...
public:
        Class();
        void SetQ(int nr);
        int GetQ(void);
//...

};

void ShowHallo(AnsiString text)
{
ShowMessage(text);
}

#endif

#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
        return 1;
}
//---------------------------------------------------------------------------

Class::Class():quad(0)
{

}

void Class::SetQ(int nr)
{
if(nr&lt;=0)quad=0;
quad=nr*nr;
}

int Class::GetQ(void)
{
return quad;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/723194</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/723194</guid><dc:creator><![CDATA[dominik 0]]></dc:creator><pubDate>Mon, 14 Feb 2005 16:51:59 GMT</pubDate></item><item><title><![CDATA[Reply to Klassendlls Importieren? on Tue, 15 Feb 2005 02:26:10 GMT]]></title><description><![CDATA[<p>Hat wirklich niemand von Euch schon mal Klassen in einer Dll gepackt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/723563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/723563</guid><dc:creator><![CDATA[dominik 0]]></dc:creator><pubDate>Tue, 15 Feb 2005 02:26:10 GMT</pubDate></item><item><title><![CDATA[Reply to Klassendlls Importieren? on Tue, 15 Feb 2005 09:50:49 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Vielleicht hilft es wenn du das hier<br />
class DLL_EXP Class<br />
in das hier<br />
DLL_EXP class Class<br />
änderst.<br />
Ich mach das aber normalerweise anders. Ich exportiere in solchen Fällen immer eine Funktion, welche mir einen Pointer auf die Klasse liefert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/723705</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/723705</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 15 Feb 2005 09:50:49 GMT</pubDate></item><item><title><![CDATA[Reply to Klassendlls Importieren? on Tue, 15 Feb 2005 15:52:47 GMT]]></title><description><![CDATA[<p>Ja,<br />
das war der Fehler, klar!<br />
Danke!!</p>
<p>Trotzdem würde mich interessieren, wie Du in Deiner Methode den Zeiger auf die Klasse liefert ebenfalls.<br />
Ich bekomme dabei immer ein Unresolved External <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Hier mein Beispielcode aus der Dll</p>
<pre><code>class CTest
{
private:
int quad;
protected:
public:
       CTest():quad(0){};
       CTest(CTest&amp; C):quad(0){};
        void SetQ(int nr);
        int GetQ(void);

}*pCTest;

CTest* GetClass(void){return pCTest;}
__declspec(dllexport) CTest GetClass(void);
</code></pre>
<p>Einbindung:</p>
<pre><code>Die Header aus der &quot;Dll Klasse&quot;+Import:
__declspec(dllimport) CTest* GetClass(void);
</code></pre>
<p>Kannst Du mir einen Auszug aus deiner Dll(Export) und aus dem Projekt(Import)<br />
zur Verfügung stellen?</p>
<p>Danke sehr!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/724114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/724114</guid><dc:creator><![CDATA[dominik 0]]></dc:creator><pubDate>Tue, 15 Feb 2005 15:52:47 GMT</pubDate></item><item><title><![CDATA[Reply to Klassendlls Importieren? on Tue, 15 Feb 2005 15:54:00 GMT]]></title><description><![CDATA[<p>dominik 0 schrieb:</p>
<blockquote>
<p>Ja,<br />
das war der Fehler, klar!<br />
Danke!!</p>
<p>Trotzdem würde mich interessieren, wie Du in Deiner Methode den Zeiger auf die Klasse aus der Dll lieferst.<br />
Ich bekomme dabei immer ein Unresolved External <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Hier mein Beispielcode aus der Dll</p>
<pre><code>class CTest
{
private:
int quad;
protected:
public:
       CTest():quad(0){};
       CTest(CTest&amp; C):quad(0){};
        void SetQ(int nr);
        int GetQ(void);

}*pCTest;

CTest* GetClass(void){return pCTest;}
__declspec(dllexport) CTest GetClass(void);
</code></pre>
<p>Einbindung:</p>
<pre><code>Die Header aus der &quot;Dll Klasse&quot;+Import:
__declspec(dllimport) CTest* GetClass(void);
</code></pre>
<p>Kannst Du mir einen Auszug aus deiner Dll(Export) und aus dem Projekt(Import)<br />
zur Verfügung stellen?</p>
<p>Danke sehr!!</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/724119</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/724119</guid><dc:creator><![CDATA[dominik 0]]></dc:creator><pubDate>Tue, 15 Feb 2005 15:54:00 GMT</pubDate></item><item><title><![CDATA[Reply to Klassendlls Importieren? on Tue, 15 Feb 2005 16:50:50 GMT]]></title><description><![CDATA[<p>Du musst den Pointer auf deine Klasse in der Funktion schon dynamisch erstellen (also mit new). Du darfst dann natürlich nicht vergessen diesen Pointer dann später zu löschen. Alternativ wäre auch ein auto_ptr oder Verwandtes möglich, wo du dir das eigenhändige Löschen sparst.</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/724180</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/724180</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 15 Feb 2005 16:50:50 GMT</pubDate></item><item><title><![CDATA[Reply to Klassendlls Importieren? on Tue, 15 Feb 2005 17:30:00 GMT]]></title><description><![CDATA[<p>Jo funktioniert's.<br />
Danke Dir.</p>
<p>Den Fehler habe ich allerdings selbst gefunden.<br />
Lag am Konstruktor, der nur deklariert wurde. <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/724204</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/724204</guid><dc:creator><![CDATA[dominik 0]]></dc:creator><pubDate>Tue, 15 Feb 2005 17:30:00 GMT</pubDate></item></channel></rss>