LabVIEWForum.de
dll einbinden - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: dll einbinden (/Thread-dll-einbinden--14908)



dll einbinden - eddy09 - 25.08.2006 06:56

Hallo zusammen,

ich soll eine dll in LabVIEW einbinden, und habe folgendes Problem:
Wie binde ich dies ein?
struct MELOTCI_LED_DESCRIPTION * pStrDescription

In der Headerdatei stehen unter anderem folgende relevante Zeilen:
……………..
_PRMELOTAPI_ int __stdcall iMELOTSetLEDConfiguration( int iPort, unsigned int uiCPUCommAdresse, unsigned int uiModuleNumber, unsigned int uiLEDConfiguration, struct MELOTCI_LED_DESCRIPTION * pStrDescription );
…………………….
struct MELOTCI_LED_DESCRIPTION {
unsigned char ucActive;
struct MELOTCI_NEXTMEASUREMENT_PARAMS strNextMeasurementSetup;
struct MELOTCI_LEDPARAMS strNextMeasurementParams;
};
#pragma pack()
…………..
Vielen Dank im Voraus für eure Hilfe.
Grüße Eddy


dll einbinden - jg - 25.08.2006 08:23

<div align="left">Hallo, Eddy,

ich kann nur sagen, viel Spaß.

Also, structures aus dll's und LabVIEW, das ist so ein Thema für sich. So muß man z.B. wissen, wie die structure wirklich byteweise aufgebaut ist. Dann hat man eine gewisse Chance, einen entsprechenden "Byte-String" zusammenzubasteln, der dann übergeben werden kann. Soweit ich weiss, werden bei einigen Compilern alle Variablen innerhalb einer structure auf die Byte-Größe der größten Variable gesetzt (s. hierzu diesen Link).

Am einfachsten ist es wohl, eine wrapper.dll (natürlich mit einer textbasierten Prgrammiersprache wie C++ o.ä.) zu bauen, die dir den Zugriff auf die gewünschte DLL entsprechend LabVIEW-kompatibel macht. Habe ich selber aber auch noch nie gemacht, kann dir da also nicht weiterhelfen.

MfG, Jens</div>