![]() |
Struktur mit Zeiger auf weitere Struktur an DLL übergeben - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: DLL & externer Code (/Forum-DLL-externer-Code) +---- Thema: Struktur mit Zeiger auf weitere Struktur an DLL übergeben (/Thread-Struktur-mit-Zeiger-auf-weitere-Struktur-an-DLL-uebergeben) |
Struktur mit Zeiger auf weitere Struktur an DLL übergeben - Wheeliemaster - 26.05.2015 09:22 Hallo, folgende Struktur vom Typ "MODULE_LIST" wird von der aufrufenden DLL erwartet: typedef struct { UINT16 countModules; /**< Count of module names.*/ MODULE_NAME * names; /**< Array of module names. */ } MODULE_LIST; Darin befindet sich ein Zeiger auf eine weitere Struktur "MODULE_NAME". typedef struct { CHAR name[M_MODNAMELEN_A]; /**< Name of the module. */ } MODULE_NAME; Ich habe das ganze schon als Cluster im Cluster angelegt. Des Weiteren habe ich Padding-Bytes eingefügt. Die Größe von "names" sowie die Anzahl der Array-Elemente ist bekannt. Das Cluster-Array names und das U8-Array "name" hatte ich vorher initialisiert. Nichts hat funktioniert. "Zeiger in Handles" oder "Handles durch Wert" machen keinen Unterschied. Hat jemand von euch noch eine Idee? Mfg WM RE: Struktur mit Zeiger auf weitere Struktur an DLL übergeben - rolfk - 26.05.2015 16:40 (26.05.2015 09:22 )Wheeliemaster schrieb: Hallo, Du wirst nicht darumhin kommen um entweder einen DLL Wrapper in C zu schreiben der von LabVIEW freundlichen Datentypen zu C Datentypen und zurück übersetzt, oder aber Dir auf LabVIEW Diagram Niveau mit Pointern um die Ohren schlagen zu lassen. ![]() Für das erste es ein wenig C Kenntnis erforderlich und ein C Compiler, aber die gibts gegenwärtig überall gratis. ![]() Fürs zweite müsste man mal nach DSNewPtr(), DSDisposePtr() und MoveBlock() LabVEW manager functions suchen auf den einschlägigen LabVIEW Forums, unter anderem hier, bei NI und auch bei LAVAG. RE: Struktur mit Zeiger auf weitere Struktur an DLL übergeben - Wheeliemaster - 27.05.2015 08:40 Danke Rolf, ich habe es bereits vermutet. Dann werde ich mich mal der DLL-Welt widmen. ![]() |