<?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[Komme nicht mehr weiter... DLL ;-(]]></title><description><![CDATA[<p>Hi Leute,<br />
wo ist der Fehler?</p>
<p>DLL:<br />
Header Datei:</p>
<pre><code class="language-cpp">#ifndef _jobheader_
#define _jobheader_

#ifdef __cplusplus 
extern &quot;C&quot; {   
#endif 
#if _USRDLL
GUID __declspec(dllexport) getJobId(void);
int __declspec(dllexport) getInt(void);
int __declspec(dllexport) getSub(int one, int two);
#else
GUID __declspec(dllimport) getJobId(void);
int __declspec(dllimport) getInt(void);
int __declspec(dllimport) getSub(int one, int two);
#endif

#ifdef __cplusplus
}
#endif

#endif
</code></pre>
<p>Die cpp Datei:</p>
<pre><code class="language-cpp">#include &quot;JobHeader.h&quot;
...
extern &quot;C&quot; GUID getJobId(void)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	// {E038C148-69C7-41f1-AD90-06156A790120}
	static const GUID id = 
		{ 0xe038c148, 0x69c7, 0x41f1, { 0xad, 0x90, 0x6, 0x15, 0x6a, 0x79, 0x1, 0x20 } };
	return id;
}

extern &quot;C&quot; int getInt(void)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	return 100;
}

extern &quot;C&quot; int getSub(int one, int two)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	return (one-two);
}
</code></pre>
<p>Lesen der DLL im Mainprog:</p>
<pre><code class="language-cpp">typedef GUID (WINAPI * PFNGETJOBID)(void);
		typedef int (WINAPI * PFNGETINT)(void);
		typedef int (WINAPI * PFNGETSUB)(int, int);
		HINSTANCE hLib;
		PFNGETJOBID pfnGetJobId;
		//PFNGETSUB pfnGetSub;

		hLib = LoadLibrary(appPath);
		if(hLib)
		{
			pfnGetJobId = (PFNGETJOBID)GetProcAddress(hLib, &quot;_getJobId&quot;);
			if(pfnGetJobId)
			{
				GUID t = pfnGetJobId();
				AfxMessageBox(&quot;jup geladen!&quot;);
			}		
			else
			{
				AfxMessageBox(&quot;Scheisse!&quot;);
				DWORD err = GetLastError();
			}
			FreeLibrary(hLib);
		}
</code></pre>
<p>Ich bekomme dabei immer einen RunTimeCheck Failure oder so...<br />
Er scheint die Function nicht zu finden...<br />
Ich sitzte jetzt schon Stunden daran und kann die Ursache nicht finden...</p>
<p>Kann mir jemand helfen (bitte ohne link auf die anderen DLL Posts, habe schon alle durchgekämmt)</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/70332/komme-nicht-mehr-weiter-dll</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Apr 2026 08:28:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/70332.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 06 Apr 2004 16:51:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Komme nicht mehr weiter... DLL ;-( on Tue, 06 Apr 2004 16:51:14 GMT]]></title><description><![CDATA[<p>Hi Leute,<br />
wo ist der Fehler?</p>
<p>DLL:<br />
Header Datei:</p>
<pre><code class="language-cpp">#ifndef _jobheader_
#define _jobheader_

#ifdef __cplusplus 
extern &quot;C&quot; {   
#endif 
#if _USRDLL
GUID __declspec(dllexport) getJobId(void);
int __declspec(dllexport) getInt(void);
int __declspec(dllexport) getSub(int one, int two);
#else
GUID __declspec(dllimport) getJobId(void);
int __declspec(dllimport) getInt(void);
int __declspec(dllimport) getSub(int one, int two);
#endif

#ifdef __cplusplus
}
#endif

#endif
</code></pre>
<p>Die cpp Datei:</p>
<pre><code class="language-cpp">#include &quot;JobHeader.h&quot;
...
extern &quot;C&quot; GUID getJobId(void)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	// {E038C148-69C7-41f1-AD90-06156A790120}
	static const GUID id = 
		{ 0xe038c148, 0x69c7, 0x41f1, { 0xad, 0x90, 0x6, 0x15, 0x6a, 0x79, 0x1, 0x20 } };
	return id;
}

extern &quot;C&quot; int getInt(void)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	return 100;
}

extern &quot;C&quot; int getSub(int one, int two)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	return (one-two);
}
</code></pre>
<p>Lesen der DLL im Mainprog:</p>
<pre><code class="language-cpp">typedef GUID (WINAPI * PFNGETJOBID)(void);
		typedef int (WINAPI * PFNGETINT)(void);
		typedef int (WINAPI * PFNGETSUB)(int, int);
		HINSTANCE hLib;
		PFNGETJOBID pfnGetJobId;
		//PFNGETSUB pfnGetSub;

		hLib = LoadLibrary(appPath);
		if(hLib)
		{
			pfnGetJobId = (PFNGETJOBID)GetProcAddress(hLib, &quot;_getJobId&quot;);
			if(pfnGetJobId)
			{
				GUID t = pfnGetJobId();
				AfxMessageBox(&quot;jup geladen!&quot;);
			}		
			else
			{
				AfxMessageBox(&quot;Scheisse!&quot;);
				DWORD err = GetLastError();
			}
			FreeLibrary(hLib);
		}
</code></pre>
<p>Ich bekomme dabei immer einen RunTimeCheck Failure oder so...<br />
Er scheint die Function nicht zu finden...<br />
Ich sitzte jetzt schon Stunden daran und kann die Ursache nicht finden...</p>
<p>Kann mir jemand helfen (bitte ohne link auf die anderen DLL Posts, habe schon alle durchgekämmt)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/496403</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/496403</guid><dc:creator><![CDATA[Win32Noob]]></dc:creator><pubDate>Tue, 06 Apr 2004 16:51:14 GMT</pubDate></item><item><title><![CDATA[Reply to Komme nicht mehr weiter... DLL ;-( on Tue, 06 Apr 2004 16:52:36 GMT]]></title><description><![CDATA[<p>achso sorry<br />
muss natürlich</p>
<pre><code class="language-cpp">pfnGetJobId = (PFNGETJOBID)GetProcAddress(hLib, &quot;getJobId&quot;);
</code></pre>
<p>lauten!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/496404</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/496404</guid><dc:creator><![CDATA[Win32Noob]]></dc:creator><pubDate>Tue, 06 Apr 2004 16:52:36 GMT</pubDate></item><item><title><![CDATA[Reply to Komme nicht mehr weiter... DLL ;-( on Tue, 06 Apr 2004 16:53:20 GMT]]></title><description><![CDATA[<p>funzt aber trotzdem nicht...</p>
<p>Hoffentlich sieht jemand mehr als ich <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/496405</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/496405</guid><dc:creator><![CDATA[Win32Noob]]></dc:creator><pubDate>Tue, 06 Apr 2004 16:53:20 GMT</pubDate></item><item><title><![CDATA[Reply to Komme nicht mehr weiter... DLL ;-( on Tue, 06 Apr 2004 17:48:04 GMT]]></title><description><![CDATA[<p>GetProcAddress() liefert aber was zurück was nicht NULL ist ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/496440</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/496440</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Tue, 06 Apr 2004 17:48:04 GMT</pubDate></item><item><title><![CDATA[Reply to Komme nicht mehr weiter... DLL ;-( on Tue, 06 Apr 2004 17:58:10 GMT]]></title><description><![CDATA[<p>Ich muss sagen, ich blicke durch deine Präcompiler-Direktiven nicht durch. Ganz sicher, dass das alles so richtig ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/496445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/496445</guid><dc:creator><![CDATA[WebFritzi]]></dc:creator><pubDate>Tue, 06 Apr 2004 17:58:10 GMT</pubDate></item><item><title><![CDATA[Reply to Komme nicht mehr weiter... DLL ;-( on Wed, 07 Apr 2004 09:04:02 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/41">@geeky</a><br />
GetProcAddress() liefert aber was zurück was nicht NULL ist ?</p>
<p>Ja zumindest ist das Ergebnis ungleich NULL. Nur beim Aufruf der Funktionen samt Parameter kommt es zum Absturz.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/358">@WebFritzi</a><br />
Die Direktiven habe ich aus dem Buch von Frank Budszuhn (VS C++ + MFC)...</p>
<p>....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/496704</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/496704</guid><dc:creator><![CDATA[Win32Noob]]></dc:creator><pubDate>Wed, 07 Apr 2004 09:04:02 GMT</pubDate></item><item><title><![CDATA[Reply to Komme nicht mehr weiter... DLL ;-( on Wed, 07 Apr 2004 09:50:05 GMT]]></title><description><![CDATA[<p>Hier die Fehlermedlung:</p>
<p>Run-Time check failure #0 - The value was not properly saved across a function call...</p>
<p>Kann mir denn keiner weiter helfen ??? <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="😕"
    /> <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/496752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/496752</guid><dc:creator><![CDATA[Win32Noob]]></dc:creator><pubDate>Wed, 07 Apr 2004 09:50:05 GMT</pubDate></item><item><title><![CDATA[Reply to Komme nicht mehr weiter... DLL ;-( on Wed, 07 Apr 2004 11:24:05 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
Okay Leute habe es selber gefunden... OH MANN!!! Wer lesen kann ist klar im Vorteil!!!</p>
<p>Problem war folgendes:<br />
In der Header Datei war die Funktion folgender Maßen deklariert:</p>
<pre><code class="language-cpp">int __declspec(dllexport) getSub(int one, int two);
</code></pre>
<p>Man beachte __declspec(dllexport)!</p>
<p>In mein Mainprog habe ich habe den Aufruf als</p>
<pre><code class="language-cpp">typedef int (WINAPI * PFNGETSUB)(int, int);
</code></pre>
<p>definiert. Tja nur ist WINAPI als __stdcall definiert...</p>
<p>Alles klar? Muss man als Newbie erstmal drauf kommen... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/496829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/496829</guid><dc:creator><![CDATA[Win32Noob]]></dc:creator><pubDate>Wed, 07 Apr 2004 11:24:05 GMT</pubDate></item></channel></rss>