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 

Bitte um Erklärung von aufruf externer Bibliotheken



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!

23.03.2007, 16:53 (Dieser Beitrag wurde zuletzt bearbeitet: 23.03.2007 16:55 von astraios.)
Beitrag #6

astraios Offline
LVF-Grünschnabel
*


Beiträge: 44
Registriert seit: Mar 2006

8.5
2006
de

80937
Deutschland
Bitte um Erklärung von aufruf externer Bibliotheken
Zitat:<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>BOOL PCUS11 GetKonfig (HANDLE hDevice, OUT_READ_KONFIG* pStructKonfig,ULONG* pSimpleStatus)</div>

Hallo,

also beim Knoten zum Aufruf... musst Du zunächst mal die einzelnen Parameter der Funktion angeben (hier deren 3).

HANDLE ist soweit ich weiß erstmal ein Zeiger auf eine Speicherzelle (solltest Du von einem vorhergehenden DLL Aufruf erhalten haben?).

Sie letzten beiden sind einfache Zeiger - das sollte kein größeres Problem werden.

Am einfachsten geht der letzte Parameter: Da als Typ Numerisch, U32 und "Zeiger auf Wert" verwenden.

Bei dem Zeiger auf die Struktur: Typ Array, U8, "Array Datenzeiger" verwenden. Dann musst Du unbedingt in den zu diesem Parameter gehörenden Eingang des DLL-Knotens ein initialisiertes U8 Array hineinführen, das mindestens so lang wie die Größe der Struktur in Bytes ist. Damit bekommst Du die Daten Deiner Struktur als Byte-Array. Nun musst Du "nur" noch die einzelnen Bytes je nach verwendeten Datentypen in der Struktur interpretieren.

Beispiel:

Deine Struktur besteht aus folgenden Werten (in dieser Reihenfolge)

<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>
typedef struct myStruct
{
unsigned int value1; //32 Bit
unsigned long long value2; //64 Bit
} myStruct;
</div>

Dann muss das initialisierte Array am Eingang des DLL-Knotens eine Größe von 4+8 = 12 Byte (U8-Elementen) haben. Aus den Daten, die aus Deiner DLL rauskommen, machst Du aus den ersten 4 Bytes einen U32 Wert und aus den nächsten 8 einen U64 Wert:

   


//edit: Ach ja. Den Handle Wert würde ich mal als U32 Wert (nicht Zeiger!) übergeben...

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Bitte um Erklärung von aufruf externer Bibliotheken - astraios - 23.03.2007 16:53

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Aufruf externer Bibliotheken / Keyence / Schnittstelle _Markus_ 1 6.903 20.05.2019 12:23
Letzter Beitrag: _Markus_
  LabView Wrapper - PostUserEvent aus externer DLL Stephan235 3 10.936 22.07.2015 13:28
Letzter Beitrag: rolfk
  Fehler 1097 bei Knoten zum Aufruf externer Bibliotheken in CLF-Knoten.vi KingLui 2 8.347 16.09.2014 13:47
Letzter Beitrag: KingLui
  Einbinden externer DLL St_Markus 1 7.337 28.05.2013 15:25
Letzter Beitrag: rolfk
  VI als externer Code finalr 1 5.556 23.11.2012 08:58
Letzter Beitrag: GerdW
  Array Elemnte von externer Funktion verbinden Heili 3 5.840 12.11.2010 13:54
Letzter Beitrag: Lucki

Gehe zu: