' schrieb:Wie ich das mit dem Array lösen soll ist mir noch nicht klar. Da in LabVIEW die Arrays dynamisch sind, wird die Arraylänge vorangestellt, was in C dann natürlich nicht passt. Einzige Lösung scheint wohl zu sein statt Arrays ebenfalls Cluster zu verwenden, wobei dann aber die Größe bekannt sein muß und dieses Cluster dann "von Hand" angelegt werden muss!? http://forums.ni.com/ni/board/message?boar...uireLogin=False
Das geht so nicht wenn der String oder das Array ein Pointer ist (type *name). Wenn es dagegen ein Fixed size Array ist (type name[zahl]) dann ist das die richtige Weise.
Zitat:Dein Problem liegt glaube ich am Parametertyp Datenzeiger:
Wozu der gut ist weiß ich nicht. Die Beschreibung dazu ist recht dürftig. Wenn ich das auswähle, kommt bei mir auch der Fehler dass die Verbindung ungültig ist.
In Englisch heisst das glaube ich "Instance Data Pointer". Das ist ein impliziter Datenpointer der mit der jeweiligen Call LibraryNode assoziert ist und auch an die Callbackfunktionen die im nächsten Tab konfiguriert werden können übergeben werden. Das ist nur für ganz Advanced Anwendungen, etwa ein direktes Ansprechen von Hardwaretreibern, um LabVIEW z.B. die Möglichkeit zu geben einen Aufruf der innerhalb der Call Library Node am Warten ist, abrechen zu können wenn der Benützer den Abort Button betätigt.
Zitat:Aber wenn Du Datentyp: "An Datentyp anpassen verwendest" dann kannst Du auch verbinden. Was dann bei "Format" einzustellen ist, ist mir allerdings auch nicht klar. Vielleicht kann ich Dir morgen mehr sagen, wenn es denn bei mir klappen sollte.
Nicht machen!!! Dann werden die LabVIEW Datentypen direkt übergeben. Das hat nichts mit gewöhnlichen C Datentypen zu tun und funktioniert nur wenn die entsprechende Library explizit dafür programmiert wurde um direkt mit LabVIEW Datentypen umzugehen.
Es ist 99.9999999999999% sicher anzunehmen dass jede DLL die man in freier Wildbahn entgegekommen kann mit diesen Datentypen im besten Fall crasht, und eventuel gar Schlimmeres macht.
Rolf Kalbermatter