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 

Parameterübergabe beim Call DLL Functions inLabVIEW



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!

02.03.2009, 16:17
Beitrag #1

pericles Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Jun 2007

2009
2007
EN

12489
Deutschland
Parameterübergabe beim Call DLL Functions inLabVIEW
Hallo! Ich bin neu in diesem Foum, hoffe aber auf Eure Hilfe bzw. Rat.
Ich binde eine DLL über CLFN (LV 8.2.1f4) ein und habe folgendes Problem beim Parameterübergabe: die Function will 2 Arrays mit Pointers haben (also, mit Addressen, wo die durch die Function ermittelte Werte reingeschrieben werden). Meine kurze LV-Erfahrung sagt, dass es nicht geht. Stimmt es, oder gibt es dafür ein Trick? Die Header-Datei füge ich bei, davor eine kurze Erklärung, was die Funktion so macht.
Das ist die Declaration:

GPMILIB_API GPMI_Error_t
GPMI_Get_Multi_Item_LV( Packet_Handle_t hpacket,
unsigned int uinum_items,
char szname[][MAX_SIZE_ITEM_NAME],
void *pvvalue[],
unsigned int *puivalue_size_in_bytes[],
GPMI_Error_t err[] );

GPMILIB_API GPMI_Error_t - ist ein U32mit FehlerCode.
Packet_Handle_t - ist ein U32,
char szname[][] wandle ich um zum ByteArray mit entsprechende Abschlusszeichen für C-String. Das alles geht ganz gut.
GPMI_Error_t ist auch unproblematisch.

Das Array *pvvalue[] soll die Addressen von Values beinhalten. Die Funktion soll dorthin je ein Wert eintragen. Da das Wert verschiede Länge haben kann (mal double, mal U16), wird die Länge des Wertes im *puivalue_size_in_bytes[] mitgeteilt (dasselbe Prinzip - Array von Pointers/Addressen ).
Da die Addresse immer ein U32 ist, bindet der DLL Author die Adressen in Array und übergibt es so die Function. Die Länge ist in uinum_items angegeben.
_
GEht es überhaupt? Oder soll das Interface zur Funktion geändert werden?
Eure Rat ist für mich eine grosse Hilfe, da die Anwendung DLLs in unserem Project sehr oft vorkommt.

PS: Leider funktionniert das Hochladen nich - mir ist nicht gestattet, eine Datei dieses Datentypes hochzuladen (was könnte das bedeuten ?). Vielleicht rteicht aber diese Information bereits?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Nachrichten in diesem Thema
Parameterübergabe beim Call DLL Functions inLabVIEW - pericles - 02.03.2009 16:17

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  SubVI mit DLL Call fehlt in exe NoWay 1 6.233 30.08.2019 13:15
Letzter Beitrag: Freddy
  relativ Pfad für Call Library Function GT123 4 7.507 05.11.2012 16:18
Letzter Beitrag: rolfk
  Registerkarte "Callbacks" im Call Library Function Node. wernerIBN 4 9.721 01.12.2010 14:24
Letzter Beitrag: wernerIBN
  DLL mit Pointer - Einbindung inLabVIEW sebastian1986 3 6.153 24.11.2009 21:02
Letzter Beitrag: rolfk
  Einführung inLabVIEW Kapitel 15 subzero128 12 10.798 24.08.2009 07:57
Letzter Beitrag: rolfk
  C-Code inLabVIEW Embedded for ARM ? amin 10 13.866 20.08.2009 11:06
Letzter Beitrag: KalleKrabowski

Gehe zu: