<?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[Zugriff auf Dll - Access Violation]]></title><description><![CDATA[<p>Moin,</p>
<p>ich habe hier ein CodeBeispiel für den Dialog gesteuerten Zugriff auf eine dll, welche mir Adress Daten aus einer Datenbank sucht. An der Dll &amp; der Datenbank lässt sich auch nichts ändern. Nun habe ich versucht, dass Programm derart anzupassen, dass ich eine Konsolenanwendung mit MFC unterstützung anpassen habe, der ich die Suchkriterien als Übergabeparameter der exe mitgebe und die Datensätze in einem einzigen Ausgabestring zurückbekomme. Leider scheint nun der Zugriff auf die dll nicht mehr zu funktionieren <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>
<p>Hier der Code:</p>
<pre><code class="language-cpp">long PSearch(HINSTANCE theDllHdl, BYTE Fuzzy) {
	long ( *DLLSearch)(BYTE Fuzzy);

    DLLSearch = (long( *)(BYTE)) GetProcAddress(theDllHdl, &quot;Search&quot;);
    return DLLSearch(Fuzzy); 
}
</code></pre>
<p>Ich bekomme für DLLSearch auch ein Ergebnis. Nur leider bekomme ich beim return jedesmal folgende Fehlermeldung:</p>
<p>Unbehandelte Ausnahme in AdressSuche.exe (ktdev32n.dll): 0xC0000005: Access Violation. (Falls wer Assembler mag: 009FC744 sal byte ptr [eax-60h],0)</p>
<p>Irgendwas scheint mit dem Zugriff auf die dll nicht zu funktionieren. Normalerweise muss die dll im selben Verzeichnis wie die exe liegen, um zu Funktionieren. Interessanterweise bekomme ich aber genau dieselbe Fehlermeldung, wenn die dll gar nicht vorhanden ist. Da das ganze aber im MFC - Dialog funktioniert kanns also am Aufruf eigentlich nicht liegen. Könnt Ihr mir da vielleicht weiterhelfen?</p>
<p>Vielen Dank<br />
Frank</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/46030/zugriff-auf-dll-access-violation</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 17:10:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/46030.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 15 Aug 2003 15:16:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zugriff auf Dll - Access Violation on Fri, 15 Aug 2003 15:16:22 GMT]]></title><description><![CDATA[<p>Moin,</p>
<p>ich habe hier ein CodeBeispiel für den Dialog gesteuerten Zugriff auf eine dll, welche mir Adress Daten aus einer Datenbank sucht. An der Dll &amp; der Datenbank lässt sich auch nichts ändern. Nun habe ich versucht, dass Programm derart anzupassen, dass ich eine Konsolenanwendung mit MFC unterstützung anpassen habe, der ich die Suchkriterien als Übergabeparameter der exe mitgebe und die Datensätze in einem einzigen Ausgabestring zurückbekomme. Leider scheint nun der Zugriff auf die dll nicht mehr zu funktionieren <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>
<p>Hier der Code:</p>
<pre><code class="language-cpp">long PSearch(HINSTANCE theDllHdl, BYTE Fuzzy) {
	long ( *DLLSearch)(BYTE Fuzzy);

    DLLSearch = (long( *)(BYTE)) GetProcAddress(theDllHdl, &quot;Search&quot;);
    return DLLSearch(Fuzzy); 
}
</code></pre>
<p>Ich bekomme für DLLSearch auch ein Ergebnis. Nur leider bekomme ich beim return jedesmal folgende Fehlermeldung:</p>
<p>Unbehandelte Ausnahme in AdressSuche.exe (ktdev32n.dll): 0xC0000005: Access Violation. (Falls wer Assembler mag: 009FC744 sal byte ptr [eax-60h],0)</p>
<p>Irgendwas scheint mit dem Zugriff auf die dll nicht zu funktionieren. Normalerweise muss die dll im selben Verzeichnis wie die exe liegen, um zu Funktionieren. Interessanterweise bekomme ich aber genau dieselbe Fehlermeldung, wenn die dll gar nicht vorhanden ist. Da das ganze aber im MFC - Dialog funktioniert kanns also am Aufruf eigentlich nicht liegen. Könnt Ihr mir da vielleicht weiterhelfen?</p>
<p>Vielen Dank<br />
Frank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/333096</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/333096</guid><dc:creator><![CDATA[FrankA]]></dc:creator><pubDate>Fri, 15 Aug 2003 15:16:22 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf Dll - Access Violation on Fri, 15 Aug 2003 18:29:50 GMT]]></title><description><![CDATA[<p>Hallo,<br />
hast Du auch LoadLibrary aufgerufen ? bzw. ist die DLL ein ActiveX dingens ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/333185</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/333185</guid><dc:creator><![CDATA[Knuddlbaer]]></dc:creator><pubDate>Fri, 15 Aug 2003 18:29:50 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf Dll - Access Violation on Fri, 15 Aug 2003 19:57:39 GMT]]></title><description><![CDATA[<p>Ja, die dll habe ich voher erfolgreich(!) mit LoadLibrary aufgerufen. Hmm, hab grade mal die dll aus dem normalen Verzeichnis gelöscht und die Initialisierung war immer noch erfolgreich. Irgendwo ist da wohl der Wurm drin ...</p>
<p>Keine Ahnung wo er sich die DLL erholt, wenn ich keinen expliziten Pfad angebe und die dll aus dem aufrufenden Verzeichnis lösche. Habe aber die richtigkeit der Initialisierung noch einmal mit expliziter Pfadangabe überprüft. Es funktioniert. Nur der 1. Aufruf einer Funktion der dll klappt nicht <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/333213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/333213</guid><dc:creator><![CDATA[FrankA]]></dc:creator><pubDate>Fri, 15 Aug 2003 19:57:39 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf Dll - Access Violation on Fri, 15 Aug 2003 21:49:11 GMT]]></title><description><![CDATA[<p>Hm,</p>
<p>DLLSearch = NULL ?</p>
<p>theDllHdl ist ok ?<br />
Search ist in der DLL auch vorhanden ?</p>
<p>Es ist eine simple DLL und kein ActiveX dingens ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/333310</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/333310</guid><dc:creator><![CDATA[Knuddlbaer]]></dc:creator><pubDate>Fri, 15 Aug 2003 21:49:11 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf Dll - Access Violation on Sat, 16 Aug 2003 13:36:52 GMT]]></title><description><![CDATA[<p>theDllhdl ist ok. Search ist eine Funktion der aufzurufenden Dll.<br />
dllSearch liefert eine, kürzlich geänderte, Adresse zurück.<br />
Über die dll hab ich leider keine genaueren Auskünfte, da ich sie nicht selber erstellt habe. Ich weiss nur das es sich um eine Windowsstandard dll handelt, die man zumindest in VB &amp; wie eine gewöhnliche dll einbinden kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/333592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/333592</guid><dc:creator><![CDATA[FrankA]]></dc:creator><pubDate>Sat, 16 Aug 2003 13:36:52 GMT</pubDate></item></channel></rss>