<?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[SerialPorts.dll verwenden]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich sitze nun schon seit ein paar Tagen und versuche verzweifelt die Bibliothek SerialPorts.dll von Kai Klemovsek (<a href="http://kk.elektronik-4u.de/index.php?Sid=14" rel="nofollow">http://kk.elektronik-4u.de/index.php?Sid=14</a>) zu verwenden. Ich habe die dll, eine lib Datei und den Header.<br />
Ich verwende MinGW unter Windows Vista und Neatbeans 6.7.1 mit C++ Pack als IDE. Als Projekt habe ich mir einfach das QT Beispiel von Netbeans genommen, weil ich mit QT als GUI arbeiten will. Ich will RS232 Kommunikation bewerkstelligen mit der dll.<br />
Nun habe ich schon Netbeans beigebracht, wo er zu schauen hat. Das sieht bei mir so aus.<br />
&quot;Project Properties&quot; -&gt; &quot;Build&quot; -&gt; &quot;C++ Compiler&quot; : Include Diretories : [Verzeichnis,wo die Bibl. liegt] und<br />
&quot;Project Properties&quot; -&gt; &quot;Build&quot; -&gt; &quot;Linker&quot; : Libraries -&gt; &quot;Add Library File&quot; : SerialPorts.dll</p>
<p>Ich hoffe bis hierher hat niemand Einwände.</p>
<p>Weiterhin habe ich im Quellcode main.cpp die SerialPorts.h included und in der Header Datei folgende Änderung (Auskommentierung) gemacht, weil sonst gar nichts kompilierte:</p>
<pre><code class="language-cpp">extern &quot;C&quot; /*DLL_IM_EXPORT*/ bool ser_CloseComPort( HANDLE hPort );
</code></pre>
<p>meine main.cpp sieht so aus:</p>
<pre><code class="language-cpp">#include &lt;QtGui/QApplication&gt;
#include &quot;HelloForm.h&quot;
#include &quot;SerialPorts.h&quot;

int main(int argc, char *argv[]) {
    // initialize resources, if needed
    // Q_INIT_RESOURCE(resfile);

    /*
    tPortInfo* test = new tPortInfo();
    test-&gt;ePort = COMPORT1;
    ser_OpenComPort(test);
    */
    const char* name;
    name = ser_GetDllName();

    QApplication app(argc, argv);

    HelloForm form;
    form.show();

    return app.exec();
}
</code></pre>
<p>Ich versuche also einfach den Namen der DLL zu erfahren. Allerdings bekomme ich mit diesem Code nur folgende Fehlermeldungen.</p>
<pre><code>SerialPorts.h:194: warning: `ser_CloseComPort' initialized and declared `extern'

SerialPorts.h:194: error: `HANDLE' was not declared in this scope

SerialPorts.h:225: error: `HANDLE' does not name a type
</code></pre>
<p>und das geht so für jede Funktion, die in der Header Datei definiert ist.</p>
<p>Ich weiß nciht so richtig was ich machen soll oder kann.<br />
Kann mit bitte jemand einen Hinweis geben? Habe auch schon den Autor der DLL angeschrieben...keine Meldung.</p>
<p>Vielen Dank<br />
Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/248568/serialports-dll-verwenden</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 16:19:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/248568.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 26 Aug 2009 15:43:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to SerialPorts.dll verwenden on Thu, 27 Aug 2009 06:37:10 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich sitze nun schon seit ein paar Tagen und versuche verzweifelt die Bibliothek SerialPorts.dll von Kai Klemovsek (<a href="http://kk.elektronik-4u.de/index.php?Sid=14" rel="nofollow">http://kk.elektronik-4u.de/index.php?Sid=14</a>) zu verwenden. Ich habe die dll, eine lib Datei und den Header.<br />
Ich verwende MinGW unter Windows Vista und Neatbeans 6.7.1 mit C++ Pack als IDE. Als Projekt habe ich mir einfach das QT Beispiel von Netbeans genommen, weil ich mit QT als GUI arbeiten will. Ich will RS232 Kommunikation bewerkstelligen mit der dll.<br />
Nun habe ich schon Netbeans beigebracht, wo er zu schauen hat. Das sieht bei mir so aus.<br />
&quot;Project Properties&quot; -&gt; &quot;Build&quot; -&gt; &quot;C++ Compiler&quot; : Include Diretories : [Verzeichnis,wo die Bibl. liegt] und<br />
&quot;Project Properties&quot; -&gt; &quot;Build&quot; -&gt; &quot;Linker&quot; : Libraries -&gt; &quot;Add Library File&quot; : SerialPorts.dll</p>
<p>Ich hoffe bis hierher hat niemand Einwände.</p>
<p>Weiterhin habe ich im Quellcode main.cpp die SerialPorts.h included und in der Header Datei folgende Änderung (Auskommentierung) gemacht, weil sonst gar nichts kompilierte:</p>
<pre><code class="language-cpp">extern &quot;C&quot; /*DLL_IM_EXPORT*/ bool ser_CloseComPort( HANDLE hPort );
</code></pre>
<p>meine main.cpp sieht so aus:</p>
<pre><code class="language-cpp">#include &lt;QtGui/QApplication&gt;
#include &quot;HelloForm.h&quot;
#include &quot;SerialPorts.h&quot;

int main(int argc, char *argv[]) {
    // initialize resources, if needed
    // Q_INIT_RESOURCE(resfile);

    /*
    tPortInfo* test = new tPortInfo();
    test-&gt;ePort = COMPORT1;
    ser_OpenComPort(test);
    */
    const char* name;
    name = ser_GetDllName();

    QApplication app(argc, argv);

    HelloForm form;
    form.show();

    return app.exec();
}
</code></pre>
<p>Ich versuche also einfach den Namen der DLL zu erfahren. Allerdings bekomme ich mit diesem Code nur folgende Fehlermeldungen.</p>
<pre><code>SerialPorts.h:194: warning: `ser_CloseComPort' initialized and declared `extern'

SerialPorts.h:194: error: `HANDLE' was not declared in this scope

SerialPorts.h:225: error: `HANDLE' does not name a type
</code></pre>
<p>und das geht so für jede Funktion, die in der Header Datei definiert ist.</p>
<p>Ich weiß nciht so richtig was ich machen soll oder kann.<br />
Kann mit bitte jemand einen Hinweis geben? Habe auch schon den Autor der DLL angeschrieben...keine Meldung.</p>
<p>Vielen Dank<br />
Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1767129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1767129</guid><dc:creator><![CDATA[goeck]]></dc:creator><pubDate>Thu, 27 Aug 2009 06:37:10 GMT</pubDate></item><item><title><![CDATA[Reply to SerialPorts.dll verwenden on Wed, 26 Aug 2009 16:06:10 GMT]]></title><description><![CDATA[<p>Hier noch ein einfach zu gebrauchende Alternative für Windows:<br />
<a href="http://www.codeproject.com/KB/system/serial.aspx" rel="nofollow">http://www.codeproject.com/KB/system/serial.aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1767141</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1767141</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Wed, 26 Aug 2009 16:06:10 GMT</pubDate></item><item><title><![CDATA[Reply to SerialPorts.dll verwenden on Thu, 27 Aug 2009 06:36:43 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>die hatte ich schon mal gefunden, allerdings muss ich mich erst dort anmelden, um die laden zu können. Weiterhin will ich an sich auch gern mal wissen, wie die Geschichte mit den DLLs funktioniert. Ich habe nämlich vor bei den nächstn Projekten verschiedene Bibliotheken zur Mustererkennung etc. zu benutzen.<br />
Also gibt es besser dokumentierte DLLs oder ist mit dem Header zu der DLL und der LIB Datei alles da, was ich brauche. Dann müsste es doch auch irgendwie machbar sein.</p>
<p>Ich bin wirklich sehr dankbar für jede Hilfe. Ich möchte nämlich auch nicht mehr zu viel Zeit mit dem Projekt verbringen.</p>
<p>Herzliche Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1767428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1767428</guid><dc:creator><![CDATA[goeck]]></dc:creator><pubDate>Thu, 27 Aug 2009 06:36:43 GMT</pubDate></item><item><title><![CDATA[Reply to SerialPorts.dll verwenden on Thu, 27 Aug 2009 07:40:05 GMT]]></title><description><![CDATA[<p>Also ich habe durch Probieren gerade rausgefunden, dass ich auch bei statischem Einbinden auf die Header Datei windows.h angewiesen bin.</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
</code></pre>
<p>...timepassedby...</p>
<p>OK, jetzt bin ich ein ganzes Stückchen weiter. Es hat sich herausgestellt, dass meine Apllikation immer abgestürzt ist, aber sauber kompiliert wurde, nachdem ich obige Header Datei mit eingebunden habe. Dies konnte gelöst werden, indem ich einfach der exe, die irgendwo im Projektordner/debug/&lt;somefolder&gt; erstellt wurde, die DLL Datei zur Seite gestellt habe. Die entspr. Fehlermeldung (DLL wurde nicht gefunden) teilt einem Netbeans nämlich nicht mit, sondern das erfährt man nur, wenn man die exe mal händisch aus dem Ordner heraus startet.<br />
Dann musste ich noch den Aufruf (ser_GetDLLName()) in die QT - Main Datei packen, damit ich auf dem GUI eine Anzeige bekomme über eine Label Element</p>
<pre><code class="language-cpp">const char* name = ser_GetDllName();
widget.helloEdit-&gt;setText(name);
</code></pre>
<p>Habe das im Konstruktor des GUI. So bekomme ich nun, beim Start der Anwendung den DLL Namen angezeigt. Es klappt also das Grundlegende mit der DLL.</p>
<p>Ich werde weiter berichten, bis ich alles am Laufen habe.</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1767440</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1767440</guid><dc:creator><![CDATA[goeck]]></dc:creator><pubDate>Thu, 27 Aug 2009 07:40:05 GMT</pubDate></item><item><title><![CDATA[Reply to SerialPorts.dll verwenden on Thu, 27 Aug 2009 10:56:11 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>alles funktioniert soweit. Ich kann die DLL Informationen auslesen und anzeigen im GUI. Ich kann auch einen COM Port öffnen, allerdings soll die Funktion ein HANDLE zurückgeben. Den bekomme ich bisher noch nicht verarbeitet. Bisher sieht alles so aus.</p>
<pre><code class="language-cpp">stPortInfo* tPortInfo = new stPortInfo();
tPortInfo-&gt;ePort = COMPORT12;
tPortInfo-&gt;eBaud = BR4800;
HANDLE pHandl = ser_OpenComPort(tPortInfo);
</code></pre>
<p>Ich bekomme beim Kompilieren die Fehlermeldung, die einzige.</p>
<pre><code>error: `HANDLE' does not name a type
</code></pre>
<p>Habe schon Google befragt, aber ich komme immer nur zu dem Schluss, dass mit der windows.h das eigentlich Geschichte sein sollte.<br />
Kann mir bitte hier jemand noch einen Tipp geben?</p>
<p>Danke!<br />
Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1767566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1767566</guid><dc:creator><![CDATA[goeck]]></dc:creator><pubDate>Thu, 27 Aug 2009 10:56:11 GMT</pubDate></item><item><title><![CDATA[Reply to SerialPorts.dll verwenden on Thu, 27 Aug 2009 11:32:52 GMT]]></title><description><![CDATA[<p>#include &lt;windows.h&gt;</p>
<p>... sollte doch eigentlich schon aus dem letzen Post von Dir selbst hervorgegangen sein...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1767592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1767592</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Thu, 27 Aug 2009 11:32:52 GMT</pubDate></item><item><title><![CDATA[Reply to SerialPorts.dll verwenden on Thu, 27 Aug 2009 11:38:45 GMT]]></title><description><![CDATA[<p>Das ist ja mein Problem. Ich habe windows.h schon inkludiert. Trotzdem ergibt sich das HANDLE nicht meiner Behandlung.<br />
Ich werd noch verrückt. Anscheinend will auch nur MinGW da nicht mitspielen. Mit Cygwin und VC(sowieso) soll es auf WIN32 keine Probleme geben...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1767594</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1767594</guid><dc:creator><![CDATA[goeck]]></dc:creator><pubDate>Thu, 27 Aug 2009 11:38:45 GMT</pubDate></item><item><title><![CDATA[Reply to SerialPorts.dll verwenden on Thu, 03 Sep 2009 17:44:44 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich glaube Du hast mir letzte Tage eine Mail geschickt bzgl. der DLL.<br />
Habe diese ausversehen gelöscht :-(.<br />
Wenn Du noch fragen hast, schick die Mail noch mal rüber.</p>
<p>Cheers,<br />
Kai</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1771773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1771773</guid><dc:creator><![CDATA[KaiK]]></dc:creator><pubDate>Thu, 03 Sep 2009 17:44:44 GMT</pubDate></item></channel></rss>