INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Header nicht LV Kompatibel?



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

27.04.2015, 09:58 (Dieser Beitrag wurde zuletzt bearbeitet: 27.04.2015 09:59 von rolfk.)
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: Header nicht LV Kompatibel?
(26.04.2015 07:29 )hansi9990 schrieb:  Hallo zusammen

Zunächt erst mal bitte verzeiht meine Unwissenheit denn ich bin nicht ganz so tief im erstellen von DLL Projekten in LV zudem kommt hinzu das ich von C++ soviel Ahnung habe wie ein Eskimo vom Heu machen Wink es wäre dennoch schön wenn mir hier jemand zumindes ein kleines bisschen helfen könnte Smile
Mein Problem ist das ich eine DLL besitze (nicht direkt ich Wink und diese in LV 2014 importieren möchte, eine Header Datei dazu habe ich auch jedoch scheint diese nicht zu passen denn nach dem Import habe ich nur verschieden Funktionen mit je einem leeren Eingangs- und Ausgangscluster, auch wenn ich keine Ahnung habe vermute ich einfach das in der Headerdatei die Typdefinitionen fehlen oder zumindest nicht in der korrekten Schreibweise eingetragen sind.
Ich habe mal ein Kopie der Headerdatei hier angehängt, scheinbar werden Dateien mit einer .h Endung nicht angenommen datum habe ich sie in .txt umbenannt.
Kann mir jemand helfen oder sagen ob es mit diese Datei überhaupt möglich ist die dazugehörige DLL in LV zu importieren?

Nicht möglich ist zuviel gesagt aber nicht einfach. Der Grund ist sogar zweifach. Erstens benützt dieser Header Definitionen des WinAPIs. Ohne den Pfad der Microsoft Windows SDK Headers in einer der extra Einstellungen hat er einfach nicht genug Informationen um diesen Header zu parsen. Allerdings sind die Windows SDK Headers so umfangreich dass er da meist früher oder später über allerlei bedingte Definitionen stolpert da Du auch einige Definitionen mitgeben musst die normal vom C Compiler automatisch definiert werden.

Daher ist es grundsätzlich einfacher um bei relativ einfachen Headern wie diesem die entsprechenden defines selber in das entsprechende Feld einzuführen.

Etwas in dieser Richtung:

#define HANDLE void*
#define BOOL int
#define UINT unsigned int
#define WORD unsigned short
#define DWORD unsigned long
#define BYTE unsigned char
#define OVERLAPPED void*
#define ULONG unsigned long
#define USHORT unsigned short
#define HDEVNOTIFY HANDLE

Das sollte glaube ich alle Datentypen im Header abdecken.

Extra Komplikation hier dürfte aber sein das HANDLE ja ein Pointer ist und der Size davon abhängt von der Bitness in LabVIEW. LabVIEW unterstützt zwar einen Pointer sized Datentyp in der Call Library Node als direkter Parameter aber nicht als native Datentype im Diagram. Wenn Du Deine Library sowohl für 32 Bit als auch 64 Bit LabVIEW machen willst musst Du die HANDLE und OVERLAPPED Elemente händisch auf jeweils einen 32 oder 64 Bit Integer einstellen und je nach Platform eine Call Library Node mit entsprechend verbundenem Cluster programmieren (Conditional Compile Structur).

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
Header nicht LV Kompatibel? - hansi9990 - 26.04.2015, 07:29
RE: Header nicht LV Kompatibel? - rolfk - 27.04.2015 09:58
RE: Header nicht LV Kompatibel? - rolfk - 28.04.2015, 09:59

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  DLL Import externe Struktur in Header bekommen hansi9990 15 24.484 30.09.2016 17:20
Letzter Beitrag: hansi9990
  .dll nicht LabView kompatibel? virtualmake 5 6.342 10.09.2013 14:49
Letzter Beitrag: virtualmake
  DLL ohne Header M@rRy 9 10.602 24.10.2011 08:49
Letzter Beitrag: M@rRy
  DLL einbinden ohne Header Datei ringfahrer 6 11.708 03.12.2009 16:22
Letzter Beitrag: jg
  externe Header-Files in DLL einbinden Honeygirl24 7 9.077 15.10.2008 21:24
Letzter Beitrag: jg

Gehe zu: