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 

DLL als Wrapperfunktion



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!

28.04.2010, 12:42
Beitrag #9

rolfk Offline
LVF-Guru
*****


Beiträge: 2.308
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
DLL als Wrapperfunktion
' schrieb:Hallo nochmal,

also soweit so gut läuft es so, wie ich es möchte.
Nur ich habe jetzt folgendes Problem:

Folgende Funktion möchte ich in LabVIEW einbinden:

unsigned int getDeviceInfo(Ref inRef, DeviceInfo *outInfo);

Nun dieses "outInfo" ist ein Zeiger auf ein struct

typedef struct test
{
char name[20];
char descr[100];
unsigned int res;
} DeviceInfo;

Das krieg ich aus der Funktion raus...Wie handele ich das, damit dies in LabVIEW angezeigt wird?? Ein kleines Example Code wäre sehr hilfreich...
vlg
honey

Sorry bin geizig mit Examples die ich erst noch erstellen muss Wink

Grundsätzlich wird da nichts von der Funktion zurückgegeben, zumindest was den Buffer selber angeht. Den muss der Aufrufer bereitstellen (hier also Dein LabVIEW Diagramm) und dann füllt die Funktion Informationen hinein.

Da die Strings in Deiner Struktur fixed size sind werden sie vom C Compiler inlined in die Struktur plaziert und nicht etwa als Pointer. Man kann also in LabVIEW eine Struktur (ähem Cluster) bauen, der dieser Struktur entspricht.

Das geht so dass man innerhalb des Clusters weitere Cluster plaziert von unsigned 8Bit Zahlen. Da 20 und 100 Elemente etwas lästig sind um mit Copy und Paste in eine Struktur zu plazieren machen wir das lieber anders.

Man nimmt ein Byte Array führt es durch die Array to Cluster Funktion und konfiguriert diese Funktion durch eine Rechtsmausklick um die gewünschte Anzahl Element im Cluster zu erzeugen. Dann Bundled man diese Cluster und weitere Informationen zusammen, konfiguriert den entsprechenden Parameter als Adapt To Type und alles ist schon in Butter.

Also ich bin mal nicht so und habe ein Bild des Diagramms angehängt. Wenn Du das selber einmal gebaut hast weisst Du wie es geht. Rolleyes

   

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
DLL als Wrapperfunktion - Honeygirl24 - 27.04.2010, 16:18
DLL als Wrapperfunktion - rolfk - 27.04.2010, 18:55
DLL als Wrapperfunktion - Honeygirl24 - 28.04.2010, 07:19
DLL als Wrapperfunktion - rolfk - 28.04.2010, 07:49
DLL als Wrapperfunktion - Honeygirl24 - 28.04.2010, 07:55
DLL als Wrapperfunktion - Honeygirl24 - 28.04.2010, 08:02
DLL als Wrapperfunktion - Honeygirl24 - 28.04.2010, 11:42
DLL als Wrapperfunktion - dimitri84 - 28.04.2010, 12:37
DLL als Wrapperfunktion - rolfk - 28.04.2010 12:42
DLL als Wrapperfunktion - Honeygirl24 - 28.04.2010, 12:55
DLL als Wrapperfunktion - Honeygirl24 - 28.04.2010, 13:25
DLL als Wrapperfunktion - rolfk - 28.04.2010, 13:34
DLL als Wrapperfunktion - Honeygirl24 - 28.04.2010, 13:44
DLL als Wrapperfunktion - RoLe - 28.04.2010, 14:16
DLL als Wrapperfunktion - Honeygirl24 - 28.04.2010, 14:24
DLL als Wrapperfunktion - rolfk - 28.04.2010, 18:39

Gehe zu: