<?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[Probleme bein Einbinden einer DLL]]></title><description><![CDATA[<p>hallo zusammen,</p>
<p>wie der threadtitel schon verrät habe ich schwierigkeiten beim einbinden einer dll.</p>
<p>kommen wir erstmal zu meinem vorhaben. ich möchte eine kleine exe compilieren welche eine kassenschublade über einen cashdrawerport(rj-11) öffnen soll. der hersteller hat hierzu einen c++ programmierschnipsel, eine.lib und eine .dll datei mitausgeliefert.</p>
<p>ich arbeite zum ersten mal mit c++, dementsprechend gestaltet sich das ganze recht mühsam und langsam.</p>
<p>in der hoffnung dass mir jemand einen tipp geben könnte, hänge ich hier den aktuellen stand des programms an.</p>
<pre><code class="language-cpp">edit: quelltext war quatsch und stiftet nur verwirrung.
</code></pre>
<p>ich bedanke mich bereits im voraus.</p>
<p>gruß<br />
Jürgen</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/230803/probleme-bein-einbinden-einer-dll</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 04:28:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/230803.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 02 Jan 2009 11:36:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme bein Einbinden einer DLL on Sun, 04 Jan 2009 16:23:40 GMT]]></title><description><![CDATA[<p>hallo zusammen,</p>
<p>wie der threadtitel schon verrät habe ich schwierigkeiten beim einbinden einer dll.</p>
<p>kommen wir erstmal zu meinem vorhaben. ich möchte eine kleine exe compilieren welche eine kassenschublade über einen cashdrawerport(rj-11) öffnen soll. der hersteller hat hierzu einen c++ programmierschnipsel, eine.lib und eine .dll datei mitausgeliefert.</p>
<p>ich arbeite zum ersten mal mit c++, dementsprechend gestaltet sich das ganze recht mühsam und langsam.</p>
<p>in der hoffnung dass mir jemand einen tipp geben könnte, hänge ich hier den aktuellen stand des programms an.</p>
<pre><code class="language-cpp">edit: quelltext war quatsch und stiftet nur verwirrung.
</code></pre>
<p>ich bedanke mich bereits im voraus.</p>
<p>gruß<br />
Jürgen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638292</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638292</guid><dc:creator><![CDATA[HerrLurch]]></dc:creator><pubDate>Sun, 04 Jan 2009 16:23:40 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bein Einbinden einer DLL on Fri, 02 Jan 2009 12:12:12 GMT]]></title><description><![CDATA[<p>Die Fehlermeldung sagt ja eigentlich bereits alles.</p>
<p>Was sollen die eckigen Klammern da?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638305</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638305</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 02 Jan 2009 12:12:12 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bein Einbinden einer DLL on Fri, 02 Jan 2009 12:53:08 GMT]]></title><description><![CDATA[<p>die eckigen klammern habe ich übernommen weil es auf dieser seite als beispiel so angegeben war:<br />
<a href="http://msdn.microsoft.com/de-de/library/system.runtime.interopservices.dllimportattribute.setlasterror.aspx" rel="nofollow">http://msdn.microsoft.com/de-de/library/system.runtime.interopservices.dllimportattribute.setlasterror.aspx</a></p>
<p>ich habe grade beim dll import runde klammern hingemacht -&gt; fehlermeldung bleibt fast identisch außer dass ein anderes zeichen angegeben wird, irgendetwas fehlt da.<br />
wenn ichs ohne klammern probiere kommt das hier:</p>
<pre><code>C:\Users\Jura\Portwell4720.cpp:18: error: expected constructor, destructor, or type conversion before '(' token
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1638323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638323</guid><dc:creator><![CDATA[HerrLurch]]></dc:creator><pubDate>Fri, 02 Jan 2009 12:53:08 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bein Einbinden einer DLL on Fri, 02 Jan 2009 17:02:28 GMT]]></title><description><![CDATA[<p>Das ist .NET-Code, kein C++.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638458</guid><dc:creator><![CDATA[pyromania]]></dc:creator><pubDate>Fri, 02 Jan 2009 17:02:28 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bein Einbinden einer DLL on Sat, 03 Jan 2009 11:42:19 GMT]]></title><description><![CDATA[<p>das ist jetzt eine überraschung... <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>
<p>ich bin die sache jetzt mal grundlegend neu angegangen.<br />
diese mitausgelieferte datei hat die endung Portwell4720.cpp -&gt; berichtigt mich bitte wenn ich mich täusche, aber das wäre eine c++ datei oder?.</p>
<p>einer readme welche ich im internet gefunden habe, konnte ich folgende information entnehmen:</p>
<pre><code>Portwell4720.cpp(\sample\4720)
It is written by C language for our NOVA-4720 machine to link dynamically 
with customer's program.
</code></pre>
<p>Hier hingegen wird angegeben dass es sich um C handelt -&gt; C jedoch hätte die Endung *.C oder?</p>
<p>welchen compiler sollte ich verwenden?</p>
<p>hier hänge ich mal den unveränderten, original code an:</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
#define PORTWELL_4720_OPEN     10  // Control Code for opening cash drawer 1 of model number 4720 mainboard
#define PORTWELL_4720_STATUS   11  // Control Code for getting status of cash drawer 1 of model number 4720 mainboard
#define PORTWELL_4720_OPEN2	   24  // Control Code for opening cash drawer 2 of model number 4720 mainboard
#define PORTWELL_4720_STATUS2  25  // Control Code for getting status of cash drawer 2 of model number 4720 mainboard
#define CREATE_FILE_FAILED     -1
#define DEVICE_CONTROL_FAILED  -2
#define PORTWELL_4720_CASH_DRAWER_IS_OPEN   1
#define PORTWELL_4720_CASH_DRAWER_IS_CLOSED 0

// szDeviceName -&gt;Device Driver Name
// CTL_ID-&gt; Control Code

__declspec( dllimport ) DWORD WINAPI DeviceControl(LPSTR szDeviceName, DWORD CTL_ID);
__declspec( dllimport ) DWORD WINAPI PortwellGetCashDrawerStatus(LPSTR szDeviceName,DWORD CTL_ID);

void main()
{
 DWORD ret;

 //ret=0  -&gt; success
 //ret=-1 -&gt; create file failed
 //ret=-2 -&gt; device io control failed
 ret = DeviceControl(&quot;\\\\.\\FEC_cash&quot;, PORTWELL_4720_OPEN); //for cash drawer 1

 //ret=0  -&gt; cash drawer is closed
 //ret=1  -&gt; cash drawer is open
 //ret=-1 -&gt; create file failed
 //ret=-2 -&gt; device io control failed
 ret = PortwellGetCashDrawerStatus(&quot;\\\\.\\FEC_cash&quot;, PORTWELL_4720_STATUS); //for cash drawer 1

 //ret=0  -&gt; success
 //ret=-1 -&gt; create file failed
 //ret=-2 -&gt; device io control failed	 
 ret = DeviceControl(&quot;\\\\.\\FEC_cash&quot;, PORTWELL_4720_OPEN2); //for cash drawer 2

 //ret=0  -&gt; cash drawer is closed
 //ret=1  -&gt; cash drawer is open
 //ret=-1 -&gt; create file failed
 //ret=-2 -&gt; device io control failed
 ret = PortwellGetCashDrawerStatus(&quot;\\\\.\\FEC_cash&quot;, PORTWELL_4720_STATUS2); //for cash drawer 2

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1638712</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638712</guid><dc:creator><![CDATA[HerrLurch]]></dc:creator><pubDate>Sat, 03 Jan 2009 11:42:19 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bein Einbinden einer DLL on Sat, 03 Jan 2009 13:52:58 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">[DllImport(&quot;cashdll.dll&quot;)]
</code></pre>
<p>und</p>
<pre><code class="language-cpp">void int()
</code></pre>
<p>hab ich nirgendwo in dem bsp. gefunden</p>
<p>des weiteren heißt es NICHT <code>void main()</code> sondern</p>
<pre><code class="language-cpp">int main()
</code></pre>
<p>das hier:<br />
<a href="http://msdn.microsoft.com/de-de/library/system.runtime.interopservices.dllimportattribute.setlasterror.aspx" rel="nofollow">http://msdn.microsoft.com/de-de/library/system.runtime.interopservices.dllimportattribute.setlasterror.aspx</a><br />
ist .NET</p>
<p>Hast du also ein Projekt mit .Net angelegt? Wenn nicht solltest du das vrmtl mal machen und wenn doch dann musste wohl warten bis dein Thread verschoben wurde oder direkt im .net-SubForum posten ^^</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638799</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638799</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sat, 03 Jan 2009 13:52:58 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bein Einbinden einer DLL on Sun, 04 Jan 2009 16:21:38 GMT]]></title><description><![CDATA[<p>diese veränderungen sind 'auf meinem mist gewachsen'. hat jedoch nur für verwirrung gesorgt und ist absoluter nonsens...</p>
<p>der quellcode, gekürzt auf das nötigste:</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;

#define PORTWELL_4720_OPEN     10  // Control Code for opening cash drawer 1 of model number 4720 mainboard

// szDeviceName -&gt;Device Driver Name
// CTL_ID-&gt; Control Code

__declspec( dllimport ) DWORD WINAPI DeviceControl(LPSTR szDeviceName, DWORD CTL_ID);
//__declspec( dllimport ) DWORD WINAPI PortwellGetCashDrawerStatus(LPSTR szDeviceName,DWORD CTL_ID);

int main()
{
 DWORD ret;
 //ret=0  -&gt; success
 //ret=-1 -&gt; create file failed
 //ret=-2 -&gt; device io control failed
 ret = DeviceControl(&quot;\\\\.\\FEC_cash&quot;, PORTWELL_4720_OPEN); //for cash drawer 1
}
</code></pre>
<p>ich habe es jetzt mit deinem vorgeschlagenen 'int main()'; versucht und nun lautet die fehlermeldung einen schritt definierter:</p>
<pre><code>C:\Users\Jura\AppData\Local\Temp/cc0gcaaa.o(.text+0x3a):Portwell4720.cpp: [Linker Error]undefined reference to `_imp___Z13DeviceControlPcm@8'
collect2: ld returned 1 exit status
</code></pre>
<p>die problematik ist einleuchtend. er kann mit devicecontrol absolut nichts anfangen weil diese spezifische bilbiothek (cashdll.dll und cashdll.lib) nicht eingebunden wurde. und hier ist der punkt ab dem ich nicht mehr weiter komme, da ich keinerlei kenntnisse in c++ habe. stundenlanges suchen im internet konnte mir auch nicht begreiflich machen wie ich diese dll in der vorliegenden konstellation einbinden könnte.<br />
vllt. erbarmt sich mir jemand und hilft <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>gruß<br />
Jürgen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1639352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1639352</guid><dc:creator><![CDATA[HerrLurch]]></dc:creator><pubDate>Sun, 04 Jan 2009 16:21:38 GMT</pubDate></item></channel></rss>