<?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[Problem mit GetProcAddress]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich hoffe mal, ich bin im richtigen Forum mit der Frage gelandet.</p>
<p>Ich bin grad am Experimentieren mit dem Verwenden von DLLs, möchte das später evtl mal in meinem Projekten verwenden, scheitere aber an einem Problem:</p>
<p>GetProcAddress liefert bei mir immer NULL zurück, obwohl ich den Namen der funktion überrpüft habe.</p>
<p>der code in der DLL ist folgender</p>
<pre><code class="language-cpp">extern &quot;C&quot; {
int __declspec(dllexport)calculate(int x, int y)
 {
  return x+y;
 }
           }
</code></pre>
<p>(DllEntryPoint hab ich so gelassen wie er ist)</p>
<p>Code vom Programm selbst:</p>
<pre><code class="language-cpp">HINSTANCE mydll;
typedef int(*func)(int,int);
func Funktion;

void __fastcall TForm1::FormCreate(TObject *Sender)
{
 mydll = LoadLibrary(&quot;ProjectDLL1.dll&quot;);
 Funktion = (func) GetProcAddress(mydll,&quot;calculate&quot;);
 int x = Funktion(2,2);

}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
 FreeLibrary(mydll);
}
//---------------------------------------------------------------------------
</code></pre>
<p>(ich verwende Borland C++ Builder 5)</p>
<p>Fehlercode ist übrigens 127, also findet er die Funktion wirklich einfach nicht.</p>
<p>Ich hoffe, ihr könnt mir helfen,</p>
<p>mfg,<br />
Pudel</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/155874/problem-mit-getprocaddress</link><generator>RSS for Node</generator><lastBuildDate>Thu, 23 Jul 2026 11:24:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/155874.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 10 Aug 2006 15:54:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit GetProcAddress on Thu, 10 Aug 2006 15:54:46 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich hoffe mal, ich bin im richtigen Forum mit der Frage gelandet.</p>
<p>Ich bin grad am Experimentieren mit dem Verwenden von DLLs, möchte das später evtl mal in meinem Projekten verwenden, scheitere aber an einem Problem:</p>
<p>GetProcAddress liefert bei mir immer NULL zurück, obwohl ich den Namen der funktion überrpüft habe.</p>
<p>der code in der DLL ist folgender</p>
<pre><code class="language-cpp">extern &quot;C&quot; {
int __declspec(dllexport)calculate(int x, int y)
 {
  return x+y;
 }
           }
</code></pre>
<p>(DllEntryPoint hab ich so gelassen wie er ist)</p>
<p>Code vom Programm selbst:</p>
<pre><code class="language-cpp">HINSTANCE mydll;
typedef int(*func)(int,int);
func Funktion;

void __fastcall TForm1::FormCreate(TObject *Sender)
{
 mydll = LoadLibrary(&quot;ProjectDLL1.dll&quot;);
 Funktion = (func) GetProcAddress(mydll,&quot;calculate&quot;);
 int x = Funktion(2,2);

}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
 FreeLibrary(mydll);
}
//---------------------------------------------------------------------------
</code></pre>
<p>(ich verwende Borland C++ Builder 5)</p>
<p>Fehlercode ist übrigens 127, also findet er die Funktion wirklich einfach nicht.</p>
<p>Ich hoffe, ihr könnt mir helfen,</p>
<p>mfg,<br />
Pudel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114709</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114709</guid><dc:creator><![CDATA[Pudel des Todes]]></dc:creator><pubDate>Thu, 10 Aug 2006 15:54:46 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit GetProcAddress on Thu, 10 Aug 2006 15:58:05 GMT]]></title><description><![CDATA[<p>Hoi,</p>
<p>Was für einen Wert hat denn 'mydll' nach dem Aufruf von LoadLibrary() ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114710</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114710</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Thu, 10 Aug 2006 15:58:05 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit GetProcAddress on Thu, 10 Aug 2006 16:01:15 GMT]]></title><description><![CDATA[<p>:00F80000, wenn ich mich nicht verlesen hab... Auf jeden fall nich NULL</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114711</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114711</guid><dc:creator><![CDATA[Pudel des Todes]]></dc:creator><pubDate>Thu, 10 Aug 2006 16:01:15 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit GetProcAddress on Thu, 10 Aug 2006 17:02:40 GMT]]></title><description><![CDATA[<p>Hö öhm...<br />
1. Debug Build? Oder Release-Build?<br />
2. Keinerlei Fehlerbehandlung.<br />
4. Fehlt nen Lehrzeichen hinter dllexport) ...<br />
5. usw...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114750</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 10 Aug 2006 17:02:40 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit GetProcAddress on Thu, 10 Aug 2006 19:16:50 GMT]]></title><description><![CDATA[<p>1. ich lass das programm immernoch im debugmodus laufen (hoff ich hab die frage richtig verstanden)<br />
2. soll nur ein testprogramm sein. Hatte zwischendurch eine Fehlerbehandlung drin, sonst hätt ich etz nicht den System Error Code. Aber eigentlich ist das programm nur zum probiern, später kommt da natürlich ne Fehlerbehandlung rein.<br />
3. ...<br />
4. leerzeichen hinter dllexport eingefügt, compiliert, ausprobiert, keine änderung<br />
btw: ist das in diesem falle nicht egal? wär das erste mal, dass man da ein Leerzeichen vor einer klammer braucht...<br />
5. ...</p>
<p>mfg Pudel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114800</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114800</guid><dc:creator><![CDATA[Pudel des Todes]]></dc:creator><pubDate>Thu, 10 Aug 2006 19:16:50 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit GetProcAddress on Thu, 10 Aug 2006 19:44:27 GMT]]></title><description><![CDATA[<p>Hmm... nun... ich zeig dir mal ein Dll-Muster:</p>
<pre><code class="language-cpp">// MeineDll.h
#ifdef MEINEDLL_EXPORTS
	#define MEINEDLL_API __declspec(dllexport)
#else
	#define MEINEDLL_API __declspec(dllimport)
#endif

#include &quot;.\meineheaderdatei1.h&quot;
// ...

MEINEDLL_API int calculate(int, int);
</code></pre>
<pre><code class="language-cpp">// MeineDll.cpp : Defines the entry point for the DLL application.
//

#include &quot;MeineDll.h&quot;
BOOL APIENTRY DllMain(HANDLE /*hModule*/, DWORD dwReasonForCall, LPVOID /*lpReserved*/)
{
	switch (dwReasonForCall)
	{
	case DLL_PROCESS_ATTACH:
	case DLL_THREAD_ATTACH:
	case DLL_THREAD_DETACH:
	case DLL_PROCESS_DETACH:
		break;
	}
    return TRUE;
} 

MEINEDLL_API int calculate(int x1, int x2)
{
    return (x1 + x2);
}
</code></pre>
<pre><code class="language-cpp">// meineheaderdatei1.h
#if (!defined _MEIN_HEADER__INCLUDED_)
#define _MEIN_HEADER__INCLUDED_

class MEINEDLL_API CMyClass
{
public:
    CMyClass(void);
    ~CMyClass(void);
};
</code></pre>
<pre><code class="language-cpp">// meineheaderdatei1.cpp
#include &quot;./meinedll.h&quot;

CMyClass::CMyClass(void)
{
}

CMyClass::~CMyClass(void)
{
}
</code></pre>
<p>Dann kannst de die calculate Funktion so laden:</p>
<pre><code class="language-cpp">typedef int(WINAPI*fCalculate)(int, int); 

bool UseFunc(void)
{
    ::HINSTANCE hMyDll = NULL; 
    fCalculate Calculate; 

    hMyDll = ::LoadLibrary(&quot;ProjectDLL1.dll&quot;); 
    if (!hMyDll)
    {
        ::MessageBox(NULL, &quot;Fehler beim Laden der Dll!&quot;, &quot;Fehler&quot;, MB_OK | MB_ICONERROR);
        return false;
    }

    Calculate = reinterpret_cast&lt;fCalculate&gt;(::GetProcAddress(hMyDll, &quot;calculate&quot;); 
    if (!Calculate)
    {
        ::MessageBox(NULL, &quot;Fehler beim Laden der Funktion&quot;, &quot;Fehler&quot;, MB_OK | MB_ICONERROR);
        ::FreeLibrary(hMyDll);
        return false;
    }

    int x = Calculate(2, 2);

    ::FreeLibrary(hMyDll);
    return true; 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1114807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114807</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 10 Aug 2006 19:44:27 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit GetProcAddress on Thu, 10 Aug 2006 19:36:12 GMT]]></title><description><![CDATA[<p>Pudel des Todes schrieb:</p>
<blockquote>
<p>btw: ist das in diesem falle nicht egal? wär das erste mal, dass man da ein Leerzeichen vor einer klammer braucht...</p>
</blockquote>
<p>Jo das ist total egal...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114809</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114809</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Thu, 10 Aug 2006 19:36:12 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit GetProcAddress on Thu, 10 Aug 2006 19:44:59 GMT]]></title><description><![CDATA[<p>Mach es einfach so wie ich es gesagt hab... und es funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114817</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 10 Aug 2006 19:44:59 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit GetProcAddress on Thu, 10 Aug 2006 19:55:44 GMT]]></title><description><![CDATA[<p>und wo ist der große Unterschied zu meinem? Dem einzigen was ich nicht folgen kann, ist der teil</p>
<pre><code class="language-cpp">#ifdef MEINEDLL_EXPORTS
    #define MEINEDLL_API __declspec(dllexport)
#else
    #define MEINEDLL_API __declspec(dllimport)
#endif
</code></pre>
<p>Und ich weiß ehrlich gesagt nicht, wo das MEINEDLL_EXPORTS definiert werden soll oder nicht, kann also auch nicht sagen, was das eigentlich werden soll.<br />
Aber wenn ich das genau so übernehmen würd wie's dasteht, würd doch am ende in der DLL stehen<br />
__declspec(dllimport) int calculate(int, int);</p>
<p>da ja MEINEDLL_EXPORTS nirgends definiert wird.</p>
<p>Und ob ich etz reinterpret_cast&lt;foo&gt; oder nur (foo) hernehm is ja auch egal, weil nur NULL aus GetProcAdress rauskommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114823</guid><dc:creator><![CDATA[Pudel des Todes]]></dc:creator><pubDate>Thu, 10 Aug 2006 19:55:44 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit GetProcAddress on Thu, 10 Aug 2006 20:04:06 GMT]]></title><description><![CDATA[<p>Hmm <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="😉"
    /> Das ist ein Makro.. stimmt das hab ich vergessen zu schreiben... weiß niht in wie weit der Borland das kann... beim VC kannst de noch wie _DEBUG usw Parameter beim Compilieren angeben(nennt sich Präprozessor definations)... d.h.:<br />
Debug: MEINEDLL_EXPORTS<br />
Release: MEINEDLL_EXPORTS</p>
<p>D.h.... es bleibt bei dll export... aber nehms einfach so... sind nen paar andere Sachen die dir scheinbar noch nicht aufgefallen sind, die verändert sind ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114829</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 10 Aug 2006 20:04:06 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit GetProcAddress on Thu, 10 Aug 2006 20:28:09 GMT]]></title><description><![CDATA[<p>nun gut, nehmen wir an wir kriegen wirklich am ende __declspec(dllexport).</p>
<p>Dann ist das immernoch schlicht das, was vorher schon in meinem Code stand...<br />
Präprozessordirektiven haben die Eigenschaft dass sie vom Compiler ausgeführt werden und im eigentlichen programm nicht mehr auftreten, folglich ist der unterschied ob ich sage</p>
<pre><code class="language-cpp">#define foo __declspec(dllexport)
foo int bar(int x, int y);
</code></pre>
<p>oder gleich</p>
<pre><code class="language-cpp">__declspec(dllexport) int bar(int x, int y);
</code></pre>
<p>gleich 0!</p>
<p>Andere Unterschiede die ich gesehen habe:</p>
<p>1.da steht ein DLLEntyPoint. Wie gesagt, ich hab meinen unverändert gelassen, er ist aber noch im code. Er macht genau so viel wie deiner, nämlich gar nichts.</p>
<p>2. Du definierst in deinem Programm eine Klasse die du nie verwendest. Schön für dich. Brauch ich nicht.</p>
<p>3. der Sinn dass du wenn ich das richtig seh die Header deiner DLL auch in deinen Programmcode includest ergibt sich mir nicht.</p>
<p>das waren alle gravierenden Unterschiede die ich bis jetzt gesehen hab.<br />
Wäre sehr dankbar, wenn du mir sagen könntest was ich noch übersehen habe.</p>
<p>Sorry, dass ich da nun so lang rumtu, aber<br />
1. will ich wissen wo mein fehler liegt<br />
2. seh ich wirklich keinen unterschied zwischen den codes, der das problem lösen könnte<br />
3. hasse ich es, fremden code einfach zu importieren, ohne zu wissen, was da nun eigentlich (anderes) steht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114841</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114841</guid><dc:creator><![CDATA[Pudel des Todes]]></dc:creator><pubDate>Thu, 10 Aug 2006 20:28:09 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit GetProcAddress on Thu, 10 Aug 2006 20:46:07 GMT]]></title><description><![CDATA[<p>Und solangsam gehst du mir auf den ... <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>
<p>Naja.. also... die Klasse hab ich dir nur als Sample angelegt, damit du sehen kannst wie man das Makro in einer Klasse benutzt...</p>
<p>Dann... ist eine ungravierende änderung wie du schon sagtest, das alles über eine &quot;Hauptheaderdatei&quot; läuft... ist nicht nötig, aber praktisch.</p>
<p>Dann... hab ich dir Fehlerüberprüfung reingebaut wie es sein muss <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>
<p>Guck dir folgende Zeile an:</p>
<pre><code class="language-cpp">typedef int(WINAPI*fCalculate)(int, int);
</code></pre>
<p>Hö öhm.. nen reinterpret_cast ist da schon angebracht...</p>
<p>Soo... wenn du das ganze so buildest wie ichs dir geschrieben hab... funktioniert es zu 100%. An sonnsten sind deine Proj.-Einstellungen nicht korrekt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114851</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 10 Aug 2006 20:46:07 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit GetProcAddress on Thu, 10 Aug 2006 20:51:19 GMT]]></title><description><![CDATA[<p>Pudel des Todes schrieb:</p>
<blockquote>
<p>und wo ist der große Unterschied zu meinem? Dem einzigen was ich nicht folgen kann, ist der teil ...</p>
</blockquote>
<p>der ist eigentlich für dich auch nicht wichtig da du dll dynamisch laden möchtest und nicht statisch binden willst</p>
<p>Pudel des Todes schrieb:</p>
<blockquote>
<p>Und ich weiß ehrlich gesagt nicht, wo das MEINEDLL_EXPORTS definiert werden soll oder nicht, kann also auch nicht sagen, was das eigentlich werden soll.<br />
Aber wenn ich das genau so übernehmen würd wie's dasteht, würd doch am ende in der DLL stehen<br />
__declspec(dllimport) int calculate(int, int);</p>
</blockquote>
<p>ist wiederrum nicht wichtig für deinen fall</p>
<p>Pudel des Todes schrieb:</p>
<blockquote>
<p>Und ob ich etz reinterpret_cast&lt;foo&gt; oder nur (foo) hernehm is ja auch egal, weil nur NULL aus GetProcAdress rauskommt.</p>
</blockquote>
<p>du hast recht der c++ cast ist auch nicht besser (nur typensicherer aber das ist ein anderes thema)</p>
<p>lösungsvorschlag:<br />
mach ne ganze normale dll in der nichts anderes drin steht wie</p>
<pre><code class="language-cpp">__declspec(dllexport) int calculate(int x1, int x2)
{ return (x1 + x2); }
</code></pre>
<p>mehr brauchst du im moment nicht.<br />
dann nimmst du den <a href="http://www.dependencywalker.com/" rel="nofollow">http://www.dependencywalker.com/</a> und schaust dir deine dll an, dort steht auch der name der exportiert wurde. namen importieren, fertig</p>
<p>ps: evtl. solltest du dir auch noch ein paar gedanken zu den aufrufkonventionen machen (declspec, stdcall usw)</p>
<p>@(d)evil<br />
[korrektur]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114852</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114852</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Thu, 10 Aug 2006 20:51:19 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit GetProcAddress on Thu, 10 Aug 2006 20:53:56 GMT]]></title><description><![CDATA[<p>Hmm? Er kann die Func net richtig mit GetProcAddress loaden, richtig?</p>
<blockquote>
<p>[quote Pudel des Todes]<br />
Und ich weiß ehrlich gesagt nicht, wo das MEINEDLL_EXPORTS definiert werden soll oder nicht, kann also auch nicht sagen, was das eigentlich werden soll.<br />
Aber wenn ich das genau so übernehmen würd wie's dasteht, würd doch am ende in der DLL stehen<br />
__declspec(dllimport) int calculate(int, int);</p>
</blockquote>
<p>ist wiederrum nicht wichtig für deinen fall<br />
[/quote]Ich will dir ja nicht dumm kommen.... ABER: Guck mal was ich geschrieben hab. Danke.</p>
<p>Der einzigst sinnvolle Teil deiner Aussage ist mit DWalker einmal die Dll anzugucken...</p>
<p>PS: Sry. ich bin müde und garantiere nicht für meine Aussagen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114861</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114861</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 10 Aug 2006 20:53:56 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit GetProcAddress on Thu, 10 Aug 2006 20:54:14 GMT]]></title><description><![CDATA[<p>Vielen Dank miller_m, funktioniert jetzt einwandfrei!</p>
<p>Schönen Abend noch,</p>
<p>mfg Pudel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114862</guid><dc:creator><![CDATA[Pudel des Todes]]></dc:creator><pubDate>Thu, 10 Aug 2006 20:54:14 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit GetProcAddress on Thu, 10 Aug 2006 20:58:02 GMT]]></title><description><![CDATA[<p>@Pudel des Todes:<br />
Naja... das zeigt mir so ziemlich das du dir meinen Code kein einziges Mal wirklich durchgesehen hast... insgesammt steht dort nicht soo viel anderes... k noch nen paar Fehlerabfragen usw mit drin... aber an sonnsten... naja... egal.. ich geh pennen <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114863</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114863</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 10 Aug 2006 20:58:02 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit GetProcAddress on Thu, 10 Aug 2006 21:03:28 GMT]]></title><description><![CDATA[<p>ich wollte eben keine diskussion mit dir anfangen aber sowas fand ich sehr provokativ</p>
<p>(D)Evil schrieb:</p>
<blockquote>
<p>Mach es einfach so wie ich es gesagt hab... und es funktioniert.</p>
</blockquote>
<p>das es imho keinerlei erklärung zu deinem obrigen code gab.</p>
<p>(D)Evil schrieb:</p>
<blockquote>
<p>Der einzigst sinnvolle Teil deiner Aussage ist mit DWalker einmal die Dll anzugucken...</p>
</blockquote>
<p>fand ich nicht so, ich habe es nur auf das wesentliche beschränkt. (wenn wir von einer dynamisch geladenen dll ausgehen)</p>
<p>ist auch jetzt egal ich bin auch müde und habe vielleicht überreagiert deswegen kam gleich von mir die korrektur aber anscheinend zu spät. egal. <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114871</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114871</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Thu, 10 Aug 2006 21:03:28 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit GetProcAddress on Fri, 11 Aug 2006 07:31:43 GMT]]></title><description><![CDATA[<p>Um es zusammen zu fassen, der einzig wirklich wichtige Unterschied ist IMHO folgender:</p>
<p>Pudel des Todes schrieb:</p>
<blockquote>
<p><strong>int</strong> __declspec(dllexport)calculate(int x, int y)</p>
</blockquote>
<p>miller_m/(D)Evil schrieb:</p>
<blockquote>
<p>__declspec(dllexport) <strong>int</strong> calculate(int x1, int x2)</p>
</blockquote>
<p>Alles weitere ist Geschmackssache.</p>
<p>Mfg, North.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114996</guid><dc:creator><![CDATA[North]]></dc:creator><pubDate>Fri, 11 Aug 2006 07:31:43 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit GetProcAddress on Fri, 11 Aug 2006 07:43:31 GMT]]></title><description><![CDATA[<p>North schrieb:</p>
<blockquote>
<p>Alles weitere ist Geschmackssache.</p>
</blockquote>
<p>imho eben nicht, den eine dll statisch oder dynamisch zu linken ist ein unterschied und beim dynamischen laden brauche ich keine präprozessordirektiven, header, etc.<br />
natürlich will ich wenn ich eine dll schreibe alles abdecken und werde dieses auch dann entsprechend mit einfliessen lassen somit wäre es dann wieder geschmackssache das hat aber wieder nichts mit dem thread zu tun.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115007</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115007</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Fri, 11 Aug 2006 07:43:31 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit GetProcAddress on Fri, 11 Aug 2006 09:26:20 GMT]]></title><description><![CDATA[<p>Da hast du recht, ich wollte lediglich hervorheben, wo im Endeffekt der Fehler in PdT's Code lag. Wenn man eine Library statisch linken will, sollte man sie IMHO ohnehin direkt als .lib erstellen und entsprechend einbinden.</p>
<p>MfG, North.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115108</guid><dc:creator><![CDATA[North]]></dc:creator><pubDate>Fri, 11 Aug 2006 09:26:20 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit GetProcAddress on Fri, 11 Aug 2006 10:08:58 GMT]]></title><description><![CDATA[<p>Hey,</p>
<p>ich wollt noch zum Abschluss schnell sagen, was nun wirklich der Fehler war.</p>
<p>Ich habe das Programm Dependency Walker nicht gekannt, und somit immer den falschen Namen bei GetProcAddress verwendet.</p>
<p>Habe zu dem Zeitpunkt aber immernoch</p>
<pre><code class="language-cpp">int __declspec(dllexport)calculate(int x, int y)
</code></pre>
<p>verwendet, hat alles funktioniert, dies scheint also nichts auszumachen.<br />
Habs nun aber nachträglich zur Sicherheit trotzdem korregiert.</p>
<p>mfg,<br />
Pudel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115145</guid><dc:creator><![CDATA[Pudel des Todes]]></dc:creator><pubDate>Fri, 11 Aug 2006 10:08:58 GMT</pubDate></item></channel></rss>