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 

array of cluster?



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!

31.08.2011, 13:57
Beitrag #2

BeFu Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 84
Registriert seit: Jun 2006

2011
2006
DE_EN

96450
Deutschland
RE: array of cluster?
(31.08.2011 09:58 )THL schrieb:  Hallo,
...
Parameter
Return value [out] Number of available positioners.
PositionerInfo [out] Array of structure PositionerInfo. It contains the hardware id for unlocked devices.
Connected devices are marked as locked.
[/code]
Ist natürlich sehr vielsagend... darum mal weiter in der Dokumentation gewühlt und das folgende in der .h-Datei gefunden:
Code:
struct PositionerInfo{
  int id;
  bool locked;
};

NCB_API Int32 PositionerCheck( PositionerInfo** posInfo );
Sieht für mich (in LabView-Terminologie) nach einem Array of Cluster aus - aber wie übergibt man so etwas an eine DLL?
...

Hallo THL,

gemäß dem Tutorial http://www.labviewforum.de/DLL-einbindung-t5504.html musst Du in LabVIEW den Speicher allokieren, der von der aufgerufenen DLL-Funktion benötigt wird. Also in Deinem Fall ein 1D-Arry mit ausreichend out für value[out] vom Typ int.

Nach meiner Meinung kannst Du die Aufgabe wie folgt lösen.

1. Laut dem oben genannten Tutorium musst Du z.B. in C eine Wrapper-Funktion schreiben, welche die Datentypen des zurückgelieferten Funktionsparamenters struct PositionerInfo in int id[out] und bool (unsigned int) locked[out] zerlegt.

2. Von LabVIEW aus kannst Du dann mittels "Knoten zum Aufruf externer Bibliotheken" mit in LabVIEW initialisierten 1D-Feldern int id[out] und unsigned int locked[out] auf die von der Wrapper-Funktion gelieferten Felder zugreifen.

Ich hoffe, mein Ansatz und das beigefügte VI (LV 8.5 <-- wird nun automatisch erkanntRolleyes) zur Allokation des benötigten Speicherplatzes in LV sind nicht ganz verkehrt.

Schöne Grüße,

BeFu


Angehängte Datei(en)
8.5 .vi  THL-DLL.vi (Größe: 9,78 KB / Downloads: 207)

Das Ziel ist der Weg
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
array of cluster? - THL - 31.08.2011, 09:58
RE: array of cluster? - BeFu - 31.08.2011 13:57
RE: array of cluster? - THL - 01.09.2011, 08:44
RE: array of cluster? - BeFu - 01.09.2011, 12:11

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Cluster der Array enthält als Ausgabe-Parameter einer dll SchwindelInside 4 6.425 07.12.2012 12:51
Letzter Beitrag: SchwindelInside
  Cluster und 2 Dim Array in DLL pgl_bear 4 5.092 16.03.2009 10:17
Letzter Beitrag: pgl_bear
  DLL und Array of Cluster hepman 3 7.336 27.04.2006 19:44
Letzter Beitrag: Martin.Henz

Gehe zu: