<?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[Mehrere Dll&#x27;s laden ?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab ein Problem mit dem laden von mehreren Dll's. Wenn ich nur eine Dll<br />
lade funzt alles wunderbar, wenn ich dann aber eine zweite laden will<br />
sagt GetLastError &quot;Unzulässiger Zugriff auf einen Speicherbereich&quot;.<br />
Wenn ich die erste Dll vor dem laden der zweiten Dll wieder entlade klappts.</p>
<p>Hier mein Code:</p>
<pre><code class="language-cpp">HMODULE hmDLL1, hmDLL2;

hmDLL1 = LoadLibrary(TEXT(&quot;C:\\test1.dll&quot;);
if(hmDLL1 == NULL) 
{
    MessageBox(NULL,szValues[0],&quot;Fehler beim laden der DLL&quot;,MB_OK); 
}
else 
{
    MessageBox(NULL,szValues[0],&quot;Dll erfolgreich geladen&quot;,MB_OK); 
} 

//FreeLibrary(hmDLL1);

hmDLL2 = LoadLibrary(TEXT(&quot;C:\\test2.dll&quot;);
if(hmDLL2 == NULL) 
{
    MessageBox(NULL,szValues[1],&quot;Fehler beim laden der DLL&quot;,MB_OK); 
}
else 
{
    MessageBox(NULL,szValues[1],&quot;Dll erfolgreich geladen&quot;,MB_OK); 
}
</code></pre>
<p>Irgendwie muss es doch gehen. Hoffe ihr könnt mir helfen</p>
<p>Gruß<br />
yogle</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/119945/mehrere-dll-s-laden</link><generator>RSS for Node</generator><lastBuildDate>Sun, 05 Jul 2026 11:01:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/119945.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 07 Sep 2005 10:12:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mehrere Dll&#x27;s laden ? on Wed, 07 Sep 2005 10:12:14 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab ein Problem mit dem laden von mehreren Dll's. Wenn ich nur eine Dll<br />
lade funzt alles wunderbar, wenn ich dann aber eine zweite laden will<br />
sagt GetLastError &quot;Unzulässiger Zugriff auf einen Speicherbereich&quot;.<br />
Wenn ich die erste Dll vor dem laden der zweiten Dll wieder entlade klappts.</p>
<p>Hier mein Code:</p>
<pre><code class="language-cpp">HMODULE hmDLL1, hmDLL2;

hmDLL1 = LoadLibrary(TEXT(&quot;C:\\test1.dll&quot;);
if(hmDLL1 == NULL) 
{
    MessageBox(NULL,szValues[0],&quot;Fehler beim laden der DLL&quot;,MB_OK); 
}
else 
{
    MessageBox(NULL,szValues[0],&quot;Dll erfolgreich geladen&quot;,MB_OK); 
} 

//FreeLibrary(hmDLL1);

hmDLL2 = LoadLibrary(TEXT(&quot;C:\\test2.dll&quot;);
if(hmDLL2 == NULL) 
{
    MessageBox(NULL,szValues[1],&quot;Fehler beim laden der DLL&quot;,MB_OK); 
}
else 
{
    MessageBox(NULL,szValues[1],&quot;Dll erfolgreich geladen&quot;,MB_OK); 
}
</code></pre>
<p>Irgendwie muss es doch gehen. Hoffe ihr könnt mir helfen</p>
<p>Gruß<br />
yogle</p>
]]></description><link>https://www.c-plusplus.net/forum/post/866870</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/866870</guid><dc:creator><![CDATA[yogle]]></dc:creator><pubDate>Wed, 07 Sep 2005 10:12:14 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Dll&#x27;s laden ? on Wed, 07 Sep 2005 10:18:03 GMT]]></title><description><![CDATA[<p>zeig doch mal deinen orginal code denn dieser funktioniert, mal abgesehen von den syntaxfehlern <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/866873</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/866873</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Wed, 07 Sep 2005 10:18:03 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Dll&#x27;s laden ? on Wed, 07 Sep 2005 10:43:36 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>also wenn ich bei mir diesen Code laufen lasse erscheint das gleiche Problem.<br />
Ich programmiere mit Dev-C++.</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;

HMODULE hmDLL1, hmDLL2;

int main()
{
    hmDLL1 = LoadLibrary(TEXT(&quot;C:\\test1.dll&quot;));
    if(hmDLL1 == NULL)
    {
        MessageBox(NULL,&quot;DLL1&quot;,&quot;Fehler beim laden der DLL&quot;,MB_OK);
    }
    else
    {
        MessageBox(NULL,&quot;DLL1&quot;,&quot;Dll erfolgreich geladen&quot;,MB_OK);
    }

    //FreeLibrary(hmDLL1);

    hmDLL2 = LoadLibrary(TEXT(&quot;C:\\test2.dll&quot;));
    if(hmDLL2 == NULL)
    {
        MessageBox(NULL,&quot;DLL2&quot;,&quot;Fehler beim laden der DLL&quot;,MB_OK);
    }
    else
    {
        MessageBox(NULL,&quot;DLL2&quot;,&quot;Dll erfolgreich geladen&quot;,MB_OK);
    }

    return 0;
}
</code></pre>
<p>Gruß<br />
yogle</p>
]]></description><link>https://www.c-plusplus.net/forum/post/866895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/866895</guid><dc:creator><![CDATA[yogle]]></dc:creator><pubDate>Wed, 07 Sep 2005 10:43:36 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Dll&#x27;s laden ? on Wed, 07 Sep 2005 11:10:40 GMT]]></title><description><![CDATA[<p>Vermutlich kann die eine DLL nur an ihrer vorgesehenen Adresse, beispielsweise 0x10000000, eingeblendet werden und hat keine Relokationstabelle. Wenn die andere Dll dann schon an besagte Adresse geladen wurde, kann diese Dll eben nicht mehr geladen werden. Die andere Dll hat eine Relokationstabelle und kann deshalb dynamisch auch an eine andere Stelle im Adressraum geladen werden, sofern ihre Wunschposition schon belegt sein sollte.</p>
<p>Prof.Smart</p>
]]></description><link>https://www.c-plusplus.net/forum/post/866913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/866913</guid><dc:creator><![CDATA[Prof.Smart]]></dc:creator><pubDate>Wed, 07 Sep 2005 11:10:40 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Dll&#x27;s laden ? on Wed, 07 Sep 2005 11:12:15 GMT]]></title><description><![CDATA[<p>der Code funktioniert bei mir auch (Digital Mars Compiler)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/866915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/866915</guid><dc:creator><![CDATA[Airdamn]]></dc:creator><pubDate>Wed, 07 Sep 2005 11:12:15 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Dll&#x27;s laden ? on Wed, 07 Sep 2005 11:27:32 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>danke erstmal für eure Antworten.<br />
Die DLL's sind von mir selber geschrieben!<br />
Hier mal der Code der zwei DLL's.</p>
<p>Erste DLL:</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;

#define DLLEXPORT __declspec(dllexport)

BOOL WINAPI DLLMain(HINSTANCE hDllInst, DWORD fdwReason, LPVOID lpvReserved)
{
    switch (fdwReason) 
    {
        case DLL_PROCESS_ATTACH:
            break;
        case DLL_PROCESS_DETACH:
            break;
        case DLL_THREAD_ATTACH:
            break;
        case DLL_THREAD_DETACH:
            break;
    }
    return TRUE;
}

DLLEXPORT void DllFunction1()
{
    MessageBox(NULL,&quot;Testmessage der Dll!&quot;,&quot;DLL Message&quot;, MB_SETFOREGROUND | MB_OK);    
}
</code></pre>
<p>Und der zweiten DLL:</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;

#define DLLEXPORT __declspec(dllexport)

BOOL WINAPI DLLMain(HINSTANCE hDllInst, DWORD fdwReason, LPVOID lpvReserved)
{
    switch (fdwReason) 
    {
        case DLL_PROCESS_ATTACH:
            break;
        case DLL_PROCESS_DETACH:
            break;
        case DLL_THREAD_ATTACH:
            break;
        case DLL_THREAD_DETACH:
            break;
    }
    return TRUE;
}

DLLEXPORT void DllFunction2()
{
    MessageBox(NULL,&quot;Testmessage der zweiten Dll!&quot;,&quot;DLL Message&quot;, MB_SETFOREGROUND | MB_OK);    
}
</code></pre>
<p>Das sind nur Testdll's, von denen ich dann die Funktionen nutzen wollte.<br />
Den Code für die hab ich aus der FAQ.</p>
<p>Gruß<br />
yogle</p>
]]></description><link>https://www.c-plusplus.net/forum/post/866930</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/866930</guid><dc:creator><![CDATA[yogle]]></dc:creator><pubDate>Wed, 07 Sep 2005 11:27:32 GMT</pubDate></item></channel></rss>