<?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[Klasse, aber nicht die cpp weitergeben?]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>Ich habe eine eigene Klasse, die möchte ich weitergeben, aber die implementation möchte ich nicht preisgeben.</p>
<p>Wie stell ich das am dümmsten an? Ich versuche dauernd die im Release/Debug Verzeichniss angelegten &lt;myclass&gt;.obj Files zu benutzen, aber das geht nicht.</p>
<p>Kann ich das überhaupt mit diesen Dateien machen, wie muss ich die im VS6.0 einbinden? Besser wäre, ich könnte die direkt im Source einbinden.</p>
<p>Gruss mathi</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/80249/klasse-aber-nicht-die-cpp-weitergeben</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 06:30:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/80249.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 19 Jul 2004 12:54:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klasse, aber nicht die cpp weitergeben? on Mon, 19 Jul 2004 12:54:40 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>Ich habe eine eigene Klasse, die möchte ich weitergeben, aber die implementation möchte ich nicht preisgeben.</p>
<p>Wie stell ich das am dümmsten an? Ich versuche dauernd die im Release/Debug Verzeichniss angelegten &lt;myclass&gt;.obj Files zu benutzen, aber das geht nicht.</p>
<p>Kann ich das überhaupt mit diesen Dateien machen, wie muss ich die im VS6.0 einbinden? Besser wäre, ich könnte die direkt im Source einbinden.</p>
<p>Gruss mathi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/563698</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/563698</guid><dc:creator><![CDATA[mathi]]></dc:creator><pubDate>Mon, 19 Jul 2004 12:54:40 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, aber nicht die cpp weitergeben? on Mon, 19 Jul 2004 13:11:57 GMT]]></title><description><![CDATA[<p>Wenn ich mich nicht voll irre, musst du die .h Dateien, die .lib und die .dll weitergeben.</p>
<p>Die kannst du dann in den Projekteinstellungen einbinden. Ich kenne das aber nur für den Fall, wo man alles selber erstellt - kann dir also sonst nicht viel weiter helfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/563718</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/563718</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Mon, 19 Jul 2004 13:11:57 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, aber nicht die cpp weitergeben? on Mon, 19 Jul 2004 13:12:46 GMT]]></title><description><![CDATA[<p>Erstell ne LIB/DLL. Ist das einfachste</p>
]]></description><link>https://www.c-plusplus.net/forum/post/563719</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/563719</guid><dc:creator><![CDATA[Unix-Tom]]></dc:creator><pubDate>Mon, 19 Jul 2004 13:12:46 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, aber nicht die cpp weitergeben? on Mon, 19 Jul 2004 13:16:23 GMT]]></title><description><![CDATA[<p>Unix-Tom schrieb:</p>
<blockquote>
<p>Erstell ne LIB/DLL. Ist das einfachste</p>
</blockquote>
<p>Die Klasse ist komplett vertig. Wäre das viel aufwand eine Lib daraus zu machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/563724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/563724</guid><dc:creator><![CDATA[mathi]]></dc:creator><pubDate>Mon, 19 Jul 2004 13:16:23 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, aber nicht die cpp weitergeben? on Mon, 19 Jul 2004 14:19:07 GMT]]></title><description><![CDATA[<p>Wenn die in ner anderen MFC-Anwendung benutzt werden soll eigentlich nicht.</p>
<p>Neues Projekt erstellen:<br />
MFC-Anwendungs-Assistent (dll)<br />
-&gt; Erweiterungs_MFC-DLL (nur mit and. MFC-Anwnd.)</p>
<p>Dann musst du nur noch deine Klass exportieren</p>
<pre><code class="language-cpp">class AFX_EXT_CLASS myclass
{
public:
  void aMethod();
}
</code></pre>
<p>Jetzt kannst du die Header und Lib die erstellt wurden in ein anderes Projekt einbinden und dann zum Beispiel ein Objekt deiner Klasse erzeugen. Hinterher brauchst du zum Ausführen des Programm (weitergabe oder was auch immer) nur noch die dll (deine Klasse) und die exe (Program das deine Klasse benutzt)</p>
<p>So in etwa müsste das klappen. Das geht aber nur so extrem einfach wenn du die dll in eine andere MFC-Anwendung einbaust. Sonst brauchste ne C-Api, das wird dann schwerer..</p>
<p>mfg<br />
tobi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/563779</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/563779</guid><dc:creator><![CDATA[Tow-B.de]]></dc:creator><pubDate>Mon, 19 Jul 2004 14:19:07 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, aber nicht die cpp weitergeben? on Mon, 19 Jul 2004 14:28:18 GMT]]></title><description><![CDATA[<p>Alle Funktionen die expotieren und MFC beinhalten müssen auch noch</p>
<p>AFX_MANAGE_STATE(AfxGetStaticModuleState());</p>
<p>Haben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/563791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/563791</guid><dc:creator><![CDATA[Unix-Tom]]></dc:creator><pubDate>Mon, 19 Jul 2004 14:28:18 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, aber nicht die cpp weitergeben? on Mon, 19 Jul 2004 14:28:45 GMT]]></title><description><![CDATA[<p>^^ würde ich dir nicht unbedingt empfehlen.</p>
<p>Soll das ding irgendwann an ein Projekt ran das nicht mit dem VC++ compiliert wird gibts probleme. Definiere in der header besser ein rein virtuelles interface deine klasse und exportiere ne funktion welche dir ne instanz erzeugt. Ist besser als die ganze klasse zu exportieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/563792</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/563792</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Mon, 19 Jul 2004 14:28:45 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, aber nicht die cpp weitergeben? on Mon, 19 Jul 2004 14:30:03 GMT]]></title><description><![CDATA[<p>btw. mein post bezog sich auf den von <a href="http://Tow-B.de" rel="nofollow">Tow-B.de</a> nicht von Unix-Tom (war wohl etwas langsam beim tippen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /> )</p>
]]></description><link>https://www.c-plusplus.net/forum/post/563795</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/563795</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Mon, 19 Jul 2004 14:30:03 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, aber nicht die cpp weitergeben? on Mon, 19 Jul 2004 15:08:56 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/156">@Unix-Tom</a>:<br />
AFX_MANAGE_STATE(AfxGetStaticModuleState()); brauchst du definitiv nicht wenn du die ganze Klasse exportierst.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/905">@CMatt</a>:<br />
Genau, das habe ich ja dazu geschrieben. Aber bei uns hier ist es zum Beispiel so das es mit Sicherheit nicht anders kompiliert werden wird. Höchstens mit ner neueren Version des MS-Compilers. Aber ich habe ja extra dazugeschrieben das es nur unter der Bedingung funktioniert. Wenn man sicher ist das es nicht anders benutzt werden wird geht es so einfach erheblich einfacher.</p>
<p>mfg<br />
tobi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/563826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/563826</guid><dc:creator><![CDATA[Tow-B.de]]></dc:creator><pubDate>Mon, 19 Jul 2004 15:08:56 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, aber nicht die cpp weitergeben? on Mon, 19 Jul 2004 15:15:39 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/5122">@Tow-B.de</a>: Die Methode funzt erstmal. Danke!</p>
<p>@CMat: wie würde so ein virtuelles Interface und die Instance-Erzeugende Funktion denn aussehen?</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/156">@Unix-Tom</a>: Ich verwende MFC-Objecte innerhalb einiger Funktionen meiner Klasse(n). Ich habe aber bei meinen ersten kurzen Test keine Probleme feststellen können. Wie muss ich den Macro denn Awenden? Einfach als erste Anweisung in jede MFC-enthaltenen Funktion?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/563830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/563830</guid><dc:creator><![CDATA[mathi]]></dc:creator><pubDate>Mon, 19 Jul 2004 15:15:39 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, aber nicht die cpp weitergeben? on Mon, 19 Jul 2004 15:19:38 GMT]]></title><description><![CDATA[<p>Mach ne COM-DLL draus. Dann brauchst du dir, unter Windows und nur unter Windows, keine Gedanken um die Programmiersprache oder gar den Compiler deines &quot;Anwenders&quot; zu machen.</p>
<p>mfg JJ</p>
]]></description><link>https://www.c-plusplus.net/forum/post/563832</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/563832</guid><dc:creator><![CDATA[John Doe]]></dc:creator><pubDate>Mon, 19 Jul 2004 15:19:38 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, aber nicht die cpp weitergeben? on Mon, 19 Jul 2004 15:25:46 GMT]]></title><description><![CDATA[<blockquote>
<p>@CMat: wie würde so ein virtuelles Interface und die Instance-Erzeugende Funktion denn aussehen?</p>
</blockquote>
<p>bsp:</p>
<pre><code class="language-cpp">// deine header mit dem interface
// Das gibts du dann wieter

class IMyClass // interface zu deiner klasse - rein virtuel
{
public:
   virtual void MyMethod() = 0;
   virtual void Release() = 0;
};

// ne funktion zum erzeugen eines objects die exportiert wird
MY_API void CreateMyClass(IMyClass **pClass);
</code></pre>
<pre><code class="language-cpp">// deine code in der dll

// implementation deiner klasse - sieht keiner ist in der dll
class CMyClass : public IMyClass
{
public:
void MyMethod1(){
// bla
}
void Release() {
  delete this;
}
};

// deine exportiere funktion
MY_API void CreateMyClass(IMyClass **pClass)
{
  *pClass = new CMyClass();
}
</code></pre>
<p>und so verwendet es dann der user:</p>
<pre><code class="language-cpp">IMyClass *pMyClass = NULL;
CreateMyClass(&amp;pMyClass); // erzeuge ein object
pMyClass-&gt;MyMethod(); // mach was damit
pMyClass-&gt;Release(); // lösche es wieder wenn fertig
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/563835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/563835</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Mon, 19 Jul 2004 15:25:46 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, aber nicht die cpp weitergeben? on Mon, 19 Jul 2004 15:29:26 GMT]]></title><description><![CDATA[<p>mathi schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/156">@Unix-Tom</a>: Ich verwende MFC-Objecte innerhalb einiger Funktionen meiner Klasse(n). Ich habe aber bei meinen ersten kurzen Test keine Probleme feststellen können. Wie muss ich den Macro denn Awenden? Einfach als erste Anweisung in jede MFC-enthaltenen Funktion?</p>
</blockquote>
<p>In bestimmten Situationen brauchst du das. Einfach als erste Zeile jeder Funktion.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/563838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/563838</guid><dc:creator><![CDATA[Unix-Tom]]></dc:creator><pubDate>Mon, 19 Jul 2004 15:29:26 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, aber nicht die cpp weitergeben? on Mon, 19 Jul 2004 15:40:33 GMT]]></title><description><![CDATA[<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/156">@Unix-Tom</a>: Ich verwende MFC-Objecte innerhalb einiger Funktionen meiner Klasse(n). Ich habe aber bei meinen ersten kurzen Test keine Probleme feststellen können. Wie muss ich den Macro denn Awenden? Einfach als erste Anweisung in jede MFC-enthaltenen Funktion?</p>
</blockquote>
<p>Du brauchst es vor allem wenn du die vielen verschiedenen anderen Möglichkeiten Dlls und ihre Schnittstellen benutzen willst.</p>
<p>Aber wie man hier ganz klar merkst führen viele Wege nach Rom, die einen sicherer, die anderen schneller und noch wieder andere auf breiteren Wegen, musst natürlich immer selbst entscheiden was für dich am passendsten ist <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/563844</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/563844</guid><dc:creator><![CDATA[Tow-B.de]]></dc:creator><pubDate>Mon, 19 Jul 2004 15:40:33 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, aber nicht die cpp weitergeben? on Mon, 19 Jul 2004 15:46:54 GMT]]></title><description><![CDATA[<p>Dank euch allen für die ganzen Hinweise und Beispiele,<br />
damit habe ich erstmal einen Guten Startpunkt für das Thema DLL/Lib.</p>
<p>Ganke und Gruss mathi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/563849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/563849</guid><dc:creator><![CDATA[mathi]]></dc:creator><pubDate>Mon, 19 Jul 2004 15:46:54 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, aber nicht die cpp weitergeben? on Mon, 19 Jul 2004 16:06:23 GMT]]></title><description><![CDATA[<p>Hallo nochmal, da habe ich doch noch eine Frage:</p>
<p>Unterscheiden sich die &lt;Debug&gt;.lib von der &lt;Release&gt;.lib?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/563869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/563869</guid><dc:creator><![CDATA[mathi]]></dc:creator><pubDate>Mon, 19 Jul 2004 16:06:23 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, aber nicht die cpp weitergeben? on Tue, 20 Jul 2004 05:10:53 GMT]]></title><description><![CDATA[<p>Ist auch nicht anderes als bei der EXE. Es werden Debuginfos mitkomp.<br />
Für dich solltest du beide erstellen da du ja auch Debuggen willst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/564119</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/564119</guid><dc:creator><![CDATA[Unix-Tom]]></dc:creator><pubDate>Tue, 20 Jul 2004 05:10:53 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, aber nicht die cpp weitergeben? on Tue, 20 Jul 2004 09:21:42 GMT]]></title><description><![CDATA[<p>Die EXE würde ich dann aber eher mit der DLL vergleichen. Allerdings meine ich die lib-Dateien, die sich im Degug- bzw. Release-Verzeichnis befinden.</p>
<p>Die beiden Dateien sind gleich gross. Allerdings scheinen sich die Dateien nur am Anfang in einer Grossen Zahl zu unterscheiden, die sich aber auch mit neu-Compilieren ändert, also wohl nur eine Art Versions-Info <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>
<p>Ich denke mal, es ist egal, welche der lib's ich benutze, jede der lib's sollte sowohl für Debug- als auch Release-Modus funktionieren, oder?</p>
<p>Gruss mathi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/564272</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/564272</guid><dc:creator><![CDATA[mathi]]></dc:creator><pubDate>Tue, 20 Jul 2004 09:21:42 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, aber nicht die cpp weitergeben? on Tue, 20 Jul 2004 11:18:07 GMT]]></title><description><![CDATA[<p>Ich habe das immer so gemacht. Eine LIB/DLL für Release eine für Debug.<br />
An die Debug hänge ich immer hinten ein &quot;D&quot; an. Wenn man die Debug/LIB einbindet wird auch die DEBUG/DLL geladen.<br />
Vergisst man das man eine DEBUG/DLL vor sich hat und gibt die weiter kann man gleich den Sourcecode weiter geben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/564344</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/564344</guid><dc:creator><![CDATA[Unix-Tom]]></dc:creator><pubDate>Tue, 20 Jul 2004 11:18:07 GMT</pubDate></item></channel></rss>