<?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[Borland C, WinDLL, funktion importieren]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte eine WinDLL mit Borland C erstellen, und die Funktionen exportieren.</p>
<p>Bei einer Libary die ich Importirtrn will, gibt es eine Function<br />
short GetKey()</p>
<p>Wenn ich diese Funktion aufrufe wird versucht die GDI.DLL zu laden.</p>
<p>Die Funktion (mit diesem Namen) ist aber in einer importieren Libery (Headerfiel ist importiert).</p>
<p>Danke<br />
Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/83541/borland-c-windll-funktion-importieren</link><generator>RSS for Node</generator><lastBuildDate>Wed, 01 Jul 2026 23:58:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/83541.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 21 Aug 2004 22:15:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Borland C, WinDLL, funktion importieren on Sat, 21 Aug 2004 22:15:51 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte eine WinDLL mit Borland C erstellen, und die Funktionen exportieren.</p>
<p>Bei einer Libary die ich Importirtrn will, gibt es eine Function<br />
short GetKey()</p>
<p>Wenn ich diese Funktion aufrufe wird versucht die GDI.DLL zu laden.</p>
<p>Die Funktion (mit diesem Namen) ist aber in einer importieren Libery (Headerfiel ist importiert).</p>
<p>Danke<br />
Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/588026</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/588026</guid><dc:creator><![CDATA[Martin2]]></dc:creator><pubDate>Sat, 21 Aug 2004 22:15:51 GMT</pubDate></item><item><title><![CDATA[Reply to Borland C, WinDLL, funktion importieren on Sun, 22 Aug 2004 04:04:12 GMT]]></title><description><![CDATA[<p>Hast du schonmal selber versucht, aus dem was du da so geschriebenhast schlau zu werden?</p>
<p>-junix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/588086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/588086</guid><dc:creator><![CDATA[junix]]></dc:creator><pubDate>Sun, 22 Aug 2004 04:04:12 GMT</pubDate></item><item><title><![CDATA[Reply to Borland C, WinDLL, funktion importieren on Sun, 22 Aug 2004 10:17:32 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>unten habeich den C-Code angehängt.<br />
(habe den Code um die funktionsfähigen function's gekürzt, alle herausgenommenen Function's sind vergleichbar. Die Function BeepOn_ fuktioniert einwandfrei)</p>
<p>Nun mein Problem:</p>
<p>Ich erstelle eine DLL, die ich in einem Pascal-Program über eine Import-Unit<br />
importiere (Funktioniert mit BeepOn_ sehr gut). Das Pascal Programm ist ein DOS-Protected-Mode Programm, und läuft auf einem DOS-Termial mit Barcodescanner. Die C-Libary wird vom Gerätehersteller mitgeliefert<br />
(auch für Borland C) um die Gerätespezifische Hardware Anzusteuern.<br />
GetKey liefert auch Informationen über die Besonderheiten der Installierten Tastatur.</p>
<p>Das Problem liegt nun daran das wenn ich die Fuction GetKey() verwende versucht wird die DLL GDI.DLL zu laden die nicht vorhanden ist.</p>
<p>Ich habe die Vermutung das in der Libary eine Function oder Procedure gelinkt wird, die es auch in der WINDOWS.H gibt, die aber aus GDI.DLL importiert wird.</p>
<p>Es handelt sich alles um DOS-Function-Calls.</p>
<p>Das 2. Problem das ich habe ist die Function GetBattLevel().<br />
Diese Function scheint Real-Rechenoperationen durchzuführen.<br />
Wenn ich diese Function mit linke, wird versucht die DLL WIN87EM.dll zu laden.<br />
Ich habe versucht den C-Compiler auf Emulation, 8087, 80287/387, und none zu stellen aber hatte keinen Erfolg.</p>
<p>Das erste Problem ist mir am wichtigtsten.</p>
<p>Martin</p>
<pre><code class="language-cpp">###############################################################################
#include    &lt;stdio.h&gt;
#include    &lt;dos.h&gt;

//#include    &lt;conio.h&gt;

#include    &lt;windows.h&gt;
#include    &quot;dl_lib.h&quot;
#include    &quot;T232HD.h&quot;

extern &quot;C&quot;  SHORT _far _pascal _export  GetKey_()

{
return GetKey();
}

extern &quot;C&quot;  BYTE _far _pascal _export  GetBattLevel_()

{
return GetBattLevel();
}

extern &quot;C&quot;  void _far _pascal _export  BeepOn_(WORD a1, WORD a2)

{
BeepOn(a1,a2);
return;
}

//int _far _pascal LibMain (HINSTANCE hInstance, WORD wDataSeg, WORD cbHeapSize, LPSTR lpCmdLine)
int _far _pascal LibMain (HINSTANCE , WORD , WORD , LPSTR )
{
return(1);
};
</code></pre>
<p><strong>Edit:</strong><br />
Bitte die <strong><a href="http://c-plusplus.net/forum/faq.php?mode=bbcode" rel="nofollow">Code-Tags</a></strong> benutzen. Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/588093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/588093</guid><dc:creator><![CDATA[martin2]]></dc:creator><pubDate>Sun, 22 Aug 2004 10:17:32 GMT</pubDate></item><item><title><![CDATA[Reply to Borland C, WinDLL, funktion importieren on Sun, 22 Aug 2004 10:15:59 GMT]]></title><description><![CDATA[<p>martin2 schrieb:</p>
<blockquote>
<p>Ich habe die Vermutung das in der Libary eine Function oder Procedure gelinkt wird, die es auch in der WINDOWS.H gibt</p>
</blockquote>
<p>Na dann stell doch mal die include-Reihenfolge um.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/588143</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/588143</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Sun, 22 Aug 2004 10:15:59 GMT</pubDate></item><item><title><![CDATA[Reply to Borland C, WinDLL, funktion importieren on Sun, 22 Aug 2004 11:28:18 GMT]]></title><description><![CDATA[<p>#include &quot;T232HD.h&quot;<br />
#include &quot;dl_lib.h&quot;<br />
#include &lt;windows.h&gt;</p>
<p>Ich habe bereits versucht die Reihenfolge zu tauschen, es fehlten dann #Define anweisungen, habe diese dann auch angepasst, hatte aber keine Wirkung.</p>
<p>Jetzt experimentiere ich mit einer Kopie der windows.h und versuche nur die benötigten Teile zu deffinieren.</p>
<p>Jetz bekomme ich die Meldung das LibMain nicht deffiniert ist, die Hilfe sagt dass:</p>
<p>Program entry point may not reside in an overlay</p>
<p>(Der Einsprungspunkt des Programms darf nicht in einem<br />
Overlay liegen)</p>
<p>Diese Meldung erscheint üblicherweise, wenn die Option /o<br />
vor dem Startup-Modul (C0x) angegeben wurde.</p>
<p>C0x enthält den ersten Einsprungspunkt des Programms, der<br />
nicht überladen werden darf.</p>
<p>Geben Sie die Option /o nach dem Startup-Modul an, um den<br />
Fehler zu beheben.</p>
<p>Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/588205</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/588205</guid><dc:creator><![CDATA[Martin2]]></dc:creator><pubDate>Sun, 22 Aug 2004 11:28:18 GMT</pubDate></item></channel></rss>