<?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[stuct aus DLL verwenden]]></title><description><![CDATA[<p>Hallo,<br />
ich habe eine Funktion aus einer DLL geladen:</p>
<p>int canusb_Read(CAN ANDLE h,CANMsg *msg );</p>
<p>canusbRead= (FUNC_canusb_Read) GetProcAddress( hinstLib, &quot;canusb_Read&quot; );</p>
<p>Diese Funktion liest einen CAN-Frame ein, der in einem struct &quot;CANMsg&quot; gespeichert wird.<br />
Der struct ist laut der DLL-Beschreibung wie folgt deklariert:</p>
<p>typedef struct {<br />
_u32 id;//Message id<br />
_u32 timestamp;//timestamp in milliseconds<br />
_u8 flags;//[extended_id|1 ][RTR:1 ][reserver:6 ]<br />
_u8 len;//Frame size (0.8)<br />
_u8 data [ 8 ] ;//Databytes 0..7<br />
}CANMsg;</p>
<p>Habe diesen struct in die Header-Datei meines Programms kopiert,<br />
jedoch wird der Typ _u32 (welcher wahrscheinlich für einen 32Bit Wert steht) als unbekannt vom Compiler gemeldet.<br />
Anschließend habe ich den _u32 ersetzt durch den Typ DWORD. Aber wenn ich nun einen Kontrollframe auslese,<br />
ist u.a. der Inhalt in der Message id (_u32 id) nicht korrekt.</p>
<p>Nun wollt ich Fragen, ob meine Vorgehensweise richtig ist<br />
und ich den Fehler wo anderst suchen muss,<br />
oder muss ich den struct irgendwie anderst meinem Programm bekannt geben?<br />
Bin über jeden Tipp dankbar.</p>
<p>gruß Crabs</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/237880/stuct-aus-dll-verwenden</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 05:14:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/237880.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 03 Apr 2009 06:50:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to stuct aus DLL verwenden on Fri, 03 Apr 2009 06:50:16 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe eine Funktion aus einer DLL geladen:</p>
<p>int canusb_Read(CAN ANDLE h,CANMsg *msg );</p>
<p>canusbRead= (FUNC_canusb_Read) GetProcAddress( hinstLib, &quot;canusb_Read&quot; );</p>
<p>Diese Funktion liest einen CAN-Frame ein, der in einem struct &quot;CANMsg&quot; gespeichert wird.<br />
Der struct ist laut der DLL-Beschreibung wie folgt deklariert:</p>
<p>typedef struct {<br />
_u32 id;//Message id<br />
_u32 timestamp;//timestamp in milliseconds<br />
_u8 flags;//[extended_id|1 ][RTR:1 ][reserver:6 ]<br />
_u8 len;//Frame size (0.8)<br />
_u8 data [ 8 ] ;//Databytes 0..7<br />
}CANMsg;</p>
<p>Habe diesen struct in die Header-Datei meines Programms kopiert,<br />
jedoch wird der Typ _u32 (welcher wahrscheinlich für einen 32Bit Wert steht) als unbekannt vom Compiler gemeldet.<br />
Anschließend habe ich den _u32 ersetzt durch den Typ DWORD. Aber wenn ich nun einen Kontrollframe auslese,<br />
ist u.a. der Inhalt in der Message id (_u32 id) nicht korrekt.</p>
<p>Nun wollt ich Fragen, ob meine Vorgehensweise richtig ist<br />
und ich den Fehler wo anderst suchen muss,<br />
oder muss ich den struct irgendwie anderst meinem Programm bekannt geben?<br />
Bin über jeden Tipp dankbar.</p>
<p>gruß Crabs</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1690238</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1690238</guid><dc:creator><![CDATA[mr_crabs]]></dc:creator><pubDate>Fri, 03 Apr 2009 06:50:16 GMT</pubDate></item><item><title><![CDATA[Reply to stuct aus DLL verwenden on Fri, 03 Apr 2009 07:44:40 GMT]]></title><description><![CDATA[<p>Gibt es zu der dll keinen Header mit den entsprechenden Typdefinitionen? Wenn nicht, ist das ganze eher Rumgestocher im Nebel.</p>
<p>Ansonsten hat meine Suche nach <code>canusb_Read</code> folgenden <a href="http://svn.canhack.org/browse/index.cgi/radio_emulator/radioEmulator/include/lawicel_can.h?revision=4" rel="nofollow">Link</a> ausgespuckt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1690260</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1690260</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 03 Apr 2009 07:44:40 GMT</pubDate></item><item><title><![CDATA[Reply to stuct aus DLL verwenden on Fri, 03 Apr 2009 12:46:46 GMT]]></title><description><![CDATA[<p>Leider war keine Header-Datei dabei.<br />
Es gab nur die deklaration des Structs und die Funktionsbeschreibung der einzelnen CAN-Funktionen.</p>
<p>Vielen Dank für den Link, damit kann man gut arbeiten <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>Hab aber noch eine Frage:<br />
muss ich den Struct in meiner Header-Datei<br />
meines Programms deklarieren oder gibt es ein Befehl mit dem ich den Struct extern aufrufen kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1690433</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1690433</guid><dc:creator><![CDATA[mr_crabs]]></dc:creator><pubDate>Fri, 03 Apr 2009 12:46:46 GMT</pubDate></item></channel></rss>