<?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[Prob mit DLL und c++ :(]]></title><description><![CDATA[<p>Hi</p>
<p>Da ich gerade ein wenig mein Dateihandling für mein Examen lerne. Habe ich mir zum Training ein kleines Projekt ausgedacht.</p>
<p>Ich hoffe ihr könnte mir helfen. Es ist eine DLL die ich in ein Programm einbaue. Prob ist das immer nen Bug kommt leider net vom Compiler sondern erst wenn ich das ding scon ausführe <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="😞"
    /> Ich hasse diese Fehler!</p>
<p>Genauerfehler:<br />
Is ziemlich lang auf jeden Fall so ein AFX Assertion Fehler! Bei Bedarf tippe ich ihn auch ab!</p>
<p>Quellcode der DLL</p>
<pre><code>// Zunächst binden wir die Projektheader-Datei ein
#define _CREATE_DLL_
#include &quot;TeDa.h&quot;
#include &quot;iostream.h&quot;
#include &quot;string.h&quot;
#include &quot;fstream&quot;    // FileStreams (Damit arbeiten wir ) 

using namespace std;

TEST int create(int spalten,string name) {

     fstream datei;
	 datei.open(name.c_str(),ios::out); 
	 if(datei.good){
		 return 1;
	 }

}
</code></pre>
<p>Quellcode der Header</p>
<pre><code>#include &quot;iostream.h&quot;
#include &quot;string.h&quot;
#include &quot;fstream&quot;
using namespace std;

#ifndef TEST_H_INCLUDED

#define TEST_H_INCLUDED

#ifdef _CREATE_DLL_

// DLL-Export

#define TEST __declspec(dllexport)

#else

// DLL-Import

#define TEST __declspec(dllimport)

// überprüfen ob Debug, oder Release

#ifdef _DEBUG

#pragma comment(lib, &quot;TeDaD.lib&quot;)

#else

#pragma comment(lib, &quot;TeDaD.lib&quot;)

#endif

#endif

// so, das war das wichtigste, jetzt die Funktion und die Klasse

TEST int create(int spalten,string name);

#endif
</code></pre>
<p>Eigentlich ist es ja nur eine Funktion die Exportiert wird. Ich denke mal das einbauen der dll in mein Beispielprogramm habe ich richitg gemacht.</p>
<p>Einfach die dll mitgelinkt und dann im Quellcode</p>
<p>create(1,&quot;bla&quot;);</p>
<p>Hoffe es kann mir wer helfen!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/148201/prob-mit-dll-und-c</link><generator>RSS for Node</generator><lastBuildDate>Fri, 04 Sep 2026 14:09:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/148201.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 24 May 2006 10:15:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Prob mit DLL und c++ :( on Wed, 24 May 2006 10:15:32 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>Da ich gerade ein wenig mein Dateihandling für mein Examen lerne. Habe ich mir zum Training ein kleines Projekt ausgedacht.</p>
<p>Ich hoffe ihr könnte mir helfen. Es ist eine DLL die ich in ein Programm einbaue. Prob ist das immer nen Bug kommt leider net vom Compiler sondern erst wenn ich das ding scon ausführe <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="😞"
    /> Ich hasse diese Fehler!</p>
<p>Genauerfehler:<br />
Is ziemlich lang auf jeden Fall so ein AFX Assertion Fehler! Bei Bedarf tippe ich ihn auch ab!</p>
<p>Quellcode der DLL</p>
<pre><code>// Zunächst binden wir die Projektheader-Datei ein
#define _CREATE_DLL_
#include &quot;TeDa.h&quot;
#include &quot;iostream.h&quot;
#include &quot;string.h&quot;
#include &quot;fstream&quot;    // FileStreams (Damit arbeiten wir ) 

using namespace std;

TEST int create(int spalten,string name) {

     fstream datei;
	 datei.open(name.c_str(),ios::out); 
	 if(datei.good){
		 return 1;
	 }

}
</code></pre>
<p>Quellcode der Header</p>
<pre><code>#include &quot;iostream.h&quot;
#include &quot;string.h&quot;
#include &quot;fstream&quot;
using namespace std;

#ifndef TEST_H_INCLUDED

#define TEST_H_INCLUDED

#ifdef _CREATE_DLL_

// DLL-Export

#define TEST __declspec(dllexport)

#else

// DLL-Import

#define TEST __declspec(dllimport)

// überprüfen ob Debug, oder Release

#ifdef _DEBUG

#pragma comment(lib, &quot;TeDaD.lib&quot;)

#else

#pragma comment(lib, &quot;TeDaD.lib&quot;)

#endif

#endif

// so, das war das wichtigste, jetzt die Funktion und die Klasse

TEST int create(int spalten,string name);

#endif
</code></pre>
<p>Eigentlich ist es ja nur eine Funktion die Exportiert wird. Ich denke mal das einbauen der dll in mein Beispielprogramm habe ich richitg gemacht.</p>
<p>Einfach die dll mitgelinkt und dann im Quellcode</p>
<p>create(1,&quot;bla&quot;);</p>
<p>Hoffe es kann mir wer helfen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1064091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064091</guid><dc:creator><![CDATA[Jens Bond]]></dc:creator><pubDate>Wed, 24 May 2006 10:15:32 GMT</pubDate></item><item><title><![CDATA[Reply to Prob mit DLL und c++ :( on Wed, 24 May 2006 10:18:06 GMT]]></title><description><![CDATA[<p>Tipp mal den Fehler hab... oder noch besser kopier ihn...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1064094</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064094</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Wed, 24 May 2006 10:18:06 GMT</pubDate></item><item><title><![CDATA[Reply to Prob mit DLL und c++ :( on Wed, 24 May 2006 10:18:22 GMT]]></title><description><![CDATA[<p>is nur sone ahnung... versuch ma, die funktion (erstma) erstma so abzuändern, dass du nur ein int übergibst, lass den string ma raus. und dann schreib ma die fehlermeldung auf, die da kommt <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/1064096</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064096</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Wed, 24 May 2006 10:18:22 GMT</pubDate></item><item><title><![CDATA[Reply to Prob mit DLL und c++ :( on Wed, 24 May 2006 10:30:02 GMT]]></title><description><![CDATA[<p>Debug Assertion Failed</p>
<p>Program: c: bla...<br />
File: dbgheap.c<br />
Line: 1044</p>
<p>Expression: _CrtIsVaildHeapPointer</p>
<p>ESIT: Also wenn ich das weg editiere funzt es! Komisch ist nur das die Datei auch mit dem fehler erstellt wird. Nur der Fehler nervt halt weil das Prog dann auch verreckt <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1064102</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064102</guid><dc:creator><![CDATA[Jens Bond]]></dc:creator><pubDate>Wed, 24 May 2006 10:30:02 GMT</pubDate></item><item><title><![CDATA[Reply to Prob mit DLL und c++ :( on Wed, 24 May 2006 11:56:42 GMT]]></title><description><![CDATA[<p>wenn du was wegeditierst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1064175</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064175</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Wed, 24 May 2006 11:56:42 GMT</pubDate></item><item><title><![CDATA[Reply to Prob mit DLL und c++ :( on Wed, 24 May 2006 12:04:53 GMT]]></title><description><![CDATA[<p>das</p>
<pre><code class="language-cpp">#define _CREATE_DLL_
</code></pre>
<p>würde ich nicht umbedingt in deiner C++ datei definieren sondern in den Projektoptionen.</p>
<p>In der Implementation steht das auf Export und beim Header auf Import. Ich weiß zwar nicht ob das der Fehler ist, oder nicht aber ich würde das definitv mal ändern.</p>
<p>Desweiteren bindet man die header so ein:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;fstream&gt;
</code></pre>
<p>und nicht mit .h und &quot;&quot;</p>
<p>EDIT: Achja und using namespace std:: im header ist auch keine Gute Idee. Das macht man nicht das kann zu problemen führen.</p>
<p>BR</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1064179</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064179</guid><dc:creator><![CDATA[evilissimo]]></dc:creator><pubDate>Wed, 24 May 2006 12:04:53 GMT</pubDate></item><item><title><![CDATA[Reply to Prob mit DLL und c++ :( on Wed, 24 May 2006 12:34:58 GMT]]></title><description><![CDATA[<p>Habe das alles so abgeändert.</p>
<p>Das Problem liegt direkt bei dem String ich habe es ohne den String proiert und dann ging es!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1064201</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064201</guid><dc:creator><![CDATA[Jens Bond]]></dc:creator><pubDate>Wed, 24 May 2006 12:34:58 GMT</pubDate></item><item><title><![CDATA[Reply to Prob mit DLL und c++ :( on Wed, 24 May 2006 13:05:45 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Klassen (auch STL) sollten eigentlich nie als Wert (oder Referenz) in einer dll-Schnittstelle auftauchen, da eine dll in einen anderen Speicherbereich schreibt und es so schnell zu Zugriffsfehlern kommen kann. Noch schlimmer wird es, wenn dll und aufrufendes Programm von unterschiedlichen Compilern stammen. Da können dann die Klasse auch unterschiedlich implementiert sein.<br />
Verwende in dll-Schnittstellen nur PODs oder Pointer darauf. Indeinem Fall statt string lieber char*.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1064244</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064244</guid><dc:creator><![CDATA[Braunstein (ausgeloggt)]]></dc:creator><pubDate>Wed, 24 May 2006 13:05:45 GMT</pubDate></item><item><title><![CDATA[Reply to Prob mit DLL und c++ :( on Wed, 24 May 2006 17:15:14 GMT]]></title><description><![CDATA[<p>habe ich auch schon raus gefunden nur wenn ich jetzt von meiner mfc anwendung drauf zugreifen will weiß ich net wie ich nen CString zu nem char bekomme <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1064444</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064444</guid><dc:creator><![CDATA[Jens Bond]]></dc:creator><pubDate>Wed, 24 May 2006 17:15:14 GMT</pubDate></item><item><title><![CDATA[Reply to Prob mit DLL und c++ :( on Wed, 24 May 2006 17:45:15 GMT]]></title><description><![CDATA[<p>ich glaube CString hat ne eigene Konvertierungsfunktion. Verusch ma</p>
<p>CString s = &quot;bla&quot;;<br />
Create(5, (char*(s));</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1064465</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064465</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Wed, 24 May 2006 17:45:15 GMT</pubDate></item></channel></rss>