<?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[dll problem]]></title><description><![CDATA[<p>hola leute</p>
<p>hab in VC eine dll erstellt und wollte sie in ein bcb-projekt zur laufzeit einbinden.<br />
bei GetProcAddress bekommt ich aber nen fehlercode 5 zurueck (ERROR_ACCESS_DENIED<br />
).</p>
<p>hier mal der code</p>
<p>die dll:</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;

BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
    hModule; ul_reason_for_call; lpReserved;
    return TRUE;
}

__declspec(dllexport) int Version(void)
{
   return 1234;
}
</code></pre>
<p>bcb dynamische einbindung</p>
<pre><code class="language-cpp">// header:
.... irgendwo ...
typedef int (*VersionFunc)(void);
VersionFunc dll_func;

// cpp:
hmod = LoadLibrary(&quot;my_dll.dll&quot;); // ist ok

Memo1-&gt;Lines-&gt;Add((int)hmod);

dll_func = (VersionFunc)GetProcAddress(hmod, &quot;Version&quot;); // error 5
</code></pre>
<p>weiß jemand was ich da falsch mache ?</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/203841/dll-problem</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Apr 2026 00:53:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/203841.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 27 Jan 2008 09:51:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to dll problem on Sun, 27 Jan 2008 09:51:29 GMT]]></title><description><![CDATA[<p>hola leute</p>
<p>hab in VC eine dll erstellt und wollte sie in ein bcb-projekt zur laufzeit einbinden.<br />
bei GetProcAddress bekommt ich aber nen fehlercode 5 zurueck (ERROR_ACCESS_DENIED<br />
).</p>
<p>hier mal der code</p>
<p>die dll:</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;

BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
    hModule; ul_reason_for_call; lpReserved;
    return TRUE;
}

__declspec(dllexport) int Version(void)
{
   return 1234;
}
</code></pre>
<p>bcb dynamische einbindung</p>
<pre><code class="language-cpp">// header:
.... irgendwo ...
typedef int (*VersionFunc)(void);
VersionFunc dll_func;

// cpp:
hmod = LoadLibrary(&quot;my_dll.dll&quot;); // ist ok

Memo1-&gt;Lines-&gt;Add((int)hmod);

dll_func = (VersionFunc)GetProcAddress(hmod, &quot;Version&quot;); // error 5
</code></pre>
<p>weiß jemand was ich da falsch mache ?</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444335</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444335</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Sun, 27 Jan 2008 09:51:29 GMT</pubDate></item><item><title><![CDATA[Reply to dll problem on Sun, 27 Jan 2008 09:58:59 GMT]]></title><description><![CDATA[<p>Du musst eine DEF-Datei verwenden um die FUnktion zu exportieren...<br />
Oder Du schaust nach wie die Funktion in der DLL wirklich heisst und verwendest den korrekten Namen! (=&gt; <a href="http://dependencywalker.com" rel="nofollow">dependencywalker.com</a>)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444343</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444343</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Sun, 27 Jan 2008 09:58:59 GMT</pubDate></item><item><title><![CDATA[Reply to dll problem on Sun, 27 Jan 2008 10:16:16 GMT]]></title><description><![CDATA[<p>re</p>
<p>wofuer brauch ich den dependencywalker ?<br />
die dll hab ich selber geschrieben. da ist nur eine exportierte funktion drinnen<br />
und die heisse einfach 'Version'. oder was meinst du genau?</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444356</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Sun, 27 Jan 2008 10:16:16 GMT</pubDate></item><item><title><![CDATA[Reply to dll problem on Sun, 27 Jan 2008 11:58:54 GMT]]></title><description><![CDATA[<p>Meep Meep schrieb:</p>
<blockquote>
<p>wofuer brauch ich den dependencywalker ?</p>
</blockquote>
<p>Den brauchst Du zum Verifizieren.</p>
<p>Meep Meep schrieb:</p>
<blockquote>
<p>die dll hab ich selber geschrieben. da ist nur eine exportierte funktion drinnen</p>
</blockquote>
<p>Das sieht fast so aus, ja.</p>
<p>Meep Meep schrieb:</p>
<blockquote>
<p>und die heisse einfach 'Version'. oder was meinst du genau?</p>
</blockquote>
<p>Die heisst mit Sicherheit <strong>nicht</strong> Version, sondern z.B. ?Version@@YAHXZ. Würdest Du Dich nicht weigern, den DependencyWalker zu benutzen, hättest Du das auch gesehen. Du kannst natürlich auch das besgate DEF-File verwenden, um ein Alias zu exportieren. Dann past es wieder mit &quot;Version&quot;.</p>
<p>Im Übrigen würde ich noch __stdcall nehmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444429</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444429</guid><dc:creator><![CDATA[Gästchen]]></dc:creator><pubDate>Sun, 27 Jan 2008 11:58:54 GMT</pubDate></item><item><title><![CDATA[Reply to dll problem on Sun, 27 Jan 2008 14:48:10 GMT]]></title><description><![CDATA[<p>Meep Meep schrieb:</p>
<blockquote>
<p>und die heisse einfach 'Version'. oder was meinst du genau?</p>
</blockquote>
<p>Nein, die heisst nicht so.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444545</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444545</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Sun, 27 Jan 2008 14:48:10 GMT</pubDate></item></channel></rss>