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 in LV einbinden. Geht es nur mit einer anderen Wrapper-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!

24.06.2010, 16:54
Beitrag #3

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
DLL in LV einbinden. Geht es nur mit einer anderen Wrapper-DLL
' schrieb:Die char[]'s in den Struct's musst du als Array of U8 behandeln.

Nein bitte nicht!! Ein Array in LabVIEW ist ein Handle. Das ist ein Pointer auf einen Pointer auf die eigentlichen Daten und ein LabVIEW Array Handle bleibt ein LabVIEW Array Handle wenn es innerhalb einer Struktur an eine C Funktion übergeben wird. Das ist 200% anders dann das inlined Stringarray das durch char[] gemeint ist. Die einzige Art um solche inlined Arrays in einem LabVIEW Cluster direkt zu realisieren ist um dieses Array als ein embedded Cluster von sovielen Elementen des Basistypen zu machen. Nun wirst Du aber wohl kaum einen Cluster machen wollen wo 2048 Elemente drin sind und die Array To Cluster Funktion die das programmatisch machen könnte kennt eine maximale Grenze von 512 Clusterelementen. Also Sackgasse!

Die einzige Variante die ohne Wrapper DLL auskäme ist um die ganze Struktur als ein C Pointer auf ein Bytearray zu übergeben und die Informationen danach aus diesem Bytearray herauszuklauben mittels, Array Subset, Typecast und Byte, Word und Longword Swaps. Ziemlich viel Aufwand, grosse Fehleranfälligkeit und katastrophale Unterhaltbarkeit von solchem Code ist aber 200% gewährleistet.

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
DLL in LV einbinden. Geht es nur mit einer anderen Wrapper-DLL - rolfk - 24.06.2010 16:54

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  LabView Wrapper - PostUserEvent aus externer DLL Stephan235 3 10.423 22.07.2015 13:28
Letzter Beitrag: rolfk
  DLL einbinden mittels Wrapper OXO 11 14.321 08.05.2013 10:27
Letzter Beitrag: OXO
  Wrapper DLL zum dynamischen Laden b.p 3 6.677 17.04.2012 13:18
Letzter Beitrag: rolfk
  C# MAPI .NET WRAPPER DLL und Lotus Notes Totte 3 7.816 16.12.2011 09:15
Letzter Beitrag: Totte
  Einbinden einer DLL mit mehr Output-Parametern, als Input-Parametern Herm 3 6.274 14.06.2011 11:12
Letzter Beitrag: rolfk
  Trinamic TMCM 610 über Wrapper.dll passimatze 2 5.641 17.06.2010 06:23
Letzter Beitrag: passimatze

Gehe zu: