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 mit Pointer auf komplexe Struktur einbinden



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.04.2014, 08:19 (Dieser Beitrag wurde zuletzt bearbeitet: 18.04.2014 08:30 von rolfk.)
Beitrag #7

rolfk Offline
LVF-Guru
*****


Beiträge: 2.306
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: dll mit Pointer auf komplexe Struktur einbinden
(17.04.2014 21:51 )Wedgewood schrieb:  Guten Abend,
leider klappt es immer noch nicht...
Ich habe alle Kombinationen bezüglich Aufrufkonvention und aufrufendem Thread probiert. Folgende Ergebnisse:

Einstellungen: beliebigen Thread, stdcall
Access violation (0xC0000005) bei EIP=0x042FF8EA
Mögliche Ursache: E:\Thesis\Labview\Libraries\VIs\Wv List Beds.vi

Einstellungen: beliebigen Thread, C
Komplettabsturz

Einstellungen: UI Thread C
DAbort 0x0037C03D in MemoryManager.cpp

Einstellungen: UI Thread, stdcall
Ausnahme: Access violation (0xC0000005) bei EIP=0x0450F8EA
Mögliche Ursache: E:\Thesis\Labview\Libraries\VIs\Wv List Beds.vi

Was mag nur das Problem sein? Wer kann mir denn helfen?
Hilft es, wenn ich die .h Datei hoch lade?

Gruß

Wedgewood

Natürlich funktioniert das nicht!!!!!

Mit einem eingebetteten Cluster meinte ich einen Cluster innerhalb des Hauptclusters der n U8 oder U16 Integer Elemente enthält. U8 wenn es ASCII ist U16 wenn die DLL mit Unicode compiliert wurde.

Dabei ist n die Zahl die zwischen den eckigen Klammern ist und in Deinen Headern definiert sein muss.

Deine Deklaration

Code:
#ifdef  _UNICODE
typedef wchar_t TCHAR;
#else
typedef char TCHAR;
#endif

ist völlig unsinnig. Das machen die Windows Headers für Dich schon.

Aber wenn Du die DLL in LabVIEW einbindest musst Du halt wissen ob sie mit UNICODE oder nicht kompiliert wurde, ansonsten geht es ziemlich verkehrt. Grundsätzlich ist es nicht sinnvoll um eine DLL mit Unicode Strings in den Aufrufparameterns zu haben da LabVIEW Strings MBCS sind und nicht Unicode, und das ist ausser für Sonderzeichen halt das gleiche wie ASCII.

Wenn Du dann so einen Cluster hast machst Du davon ein Array und konfigurierst den entsprechendne Parameter als Adapt to Type, pass Array Data Pointer.
(18.04.2014 08:02 )BNT schrieb:  Moin
Hast Du Dir schon folgenden Thread durchgelesen?
"Dereferencing Pointers ..."
https://decibel.ni.com/content/docs/DOC-9091

Gruß Holger

Holger, es geht hier nicht um Pointer in einem Cluster. Alle fixed size Elemente in einem Cluster werden durch den C Compiler inline in der Struktur angelegt.

D.h:

Code:
struct {
     int32 element1[20];
     int32 element2[10];
} MyStruct;

enhält keinerlei Pointers. Es ist ganz einfach ein Speicherblock mit 30 int32 Elementen, also 120 Byte Länge.

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
RE: dll mit Pointer auf komplexe Struktur einbinden - rolfk - 18.04.2014 08:19

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Datenübergabe an DLL Pointer to Pointer Reiling 2 9.644 02.02.2018 10:59
Letzter Beitrag: Reiling
  Absturz durch unzulässige Pointer VS_03 3 10.369 28.10.2016 18:32
Letzter Beitrag: VS_03
  Struktur mit Zeiger auf weitere Struktur an DLL übergeben Wheeliemaster 2 7.571 27.05.2015 08:40
Letzter Beitrag: Wheeliemaster
  Pointer auf Array mit Labview übertragen und darstellen lupus022 35 32.775 19.07.2013 10:53
Letzter Beitrag: lupus022
  Pointer und MoveBlock OXO 4 8.277 03.06.2013 16:31
Letzter Beitrag: OXO
  Pointer auf Subarray übergeben Event Horizon 5 7.457 15.07.2012 10:21
Letzter Beitrag: rolfk

Gehe zu: