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 

Hilfe zu Typedef bei dll



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!

18.02.2008, 10:10 (Dieser Beitrag wurde zuletzt bearbeitet: 18.02.2008 10:11 von rolfk.)
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.306
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Hilfe zu Typedef bei dll
' schrieb:Hallo,
ich möchte in LabVIEW eine dll einbinden.
Fuer einfache Sachen habe ich das auch schon hinbekommen (so etwas wie Integer oder Strings übergeben / lesen)
Nun habe ich eine dll bei der ich einen Aufruf machen will, und zwar:

alsnCall(char *fullDeviceNameAndProperty,DTYPE *dout,DTYPE *din,short access,double *dTimeStamp)
als functionsaufruf von XYZ.dll
DTYPE ist ein Struct, und sieht so aus:

typedef struct
{
UINT32 dArrayLength;
short dFormat;
short xferReason;
int dStamp;
int sysStamp;
double dTimeStamp;
char dTag[TAG_NAME_SIZE]; // 16-chars
DUNION data;
} DTYPE;

wobei ein DUNION so aussieht:

typedef union
{
void *vptr;
char *cptr;
UINT8 *bptr;
SINT16 *sptr;
UINT16 *usptr;
SINT32 *lptr;
UINT32 *ulptr;
float *fptr;
double *dptr;
} DUNION;

Wie würde hierfür der LabVIEW- Code aussehen?
Kann ich mir in LabVIEW typedef´s basteln und sie dann irgendwie TypCast`en??
Ich dachte mir eine typedef ist ja eigentlich nichts anderes als ein Cluster, oder??
Könnte ich mir dann nicht so etwas als stricttzpe von LabVIEW bauen und dann an die dll übergeben?
Ich hoffe einer von Euch Cracks kann mir ein wenig Erleuchtung geben.
Gibt es irgendwo etwas wie eine Anleitung oder kann mir jemand o.g. Code in LabVIEW übersetzen (LV 8).
Mit freundlichen Grüßen
Ruediger

Ja geht im Prinzip, ausser dass Deine DUNION einen Pointer enthält und das kann LabVIEW nicht so einfach innrhalb einer Strukture/Cluster. Ohne wirklich gediegene C Kenntnisse ist da nichts zu tun und deshalb schlage ich vor gleich mit C anzufangen und eine Wrapper DLL für diese Funktion zu schreiben.

Rolf Kalbermatter

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
Antwort schreiben 


Nachrichten in diesem Thema
Hilfe zu Typedef bei dll - Ruediger - 18.02.2008, 01:07
Hilfe zu Typedef bei dll - rolfk - 18.02.2008 10:10
Hilfe zu Typedef bei dll - Ruediger - 19.02.2008, 09:01
Hilfe zu Typedef bei dll - rolfk - 19.02.2008, 10:27
Hilfe zu Typedef bei dll - IchSelbst - 19.02.2008, 11:23

Gehe zu: