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!
21.12.2011, 15:19 (Dieser Beitrag wurde zuletzt bearbeitet: 21.12.2011 15:20 von rolfk.)
ich bin nicht nur neu im Forum, sondern auch neu was Labview betrifft.
Ich komme aus der "klassischen Programmierung" C++, ...
Ein versierter Kollege und ich haben einen Zwispalt bezüglich Zeiger und DLL:
Eine DLL-Funktion benötigt einen Zeiger auf einen Integer und liefert, auch über diesen Parameter in der Funktion, den zweiten Rückgabewert.
Im DLL-Funktionsobjekt steht in der Konfiguration des Parameters der Wert auf Zeiger.
Meine Auffassung ist es nun, dass eine Variable dem Parameter der Funktion zugewiesen werden muss (rechte Seite Objekt), da die DLL-Funktion diesen Wert als Adresse nutzt und den rückzuliefernden Wert dorthin schreibt. Den Wert kann ich nach Funktionsablauf dann auf der rechten Seite des DLL-Funktions-Objektes in Labview abgreifen.
Kurz: ich muss dem DLL-Funk.-Objekt auch eine Variable links zuweisen, damit Speicher für die DLL bereit gestellt wird.
Mein Kollege meint, es sei nicht nötig. Es reicht, wenn nur von der rechten Seite der Parameter abgefragt wird. Das "Vornedran" erledigt LV selbst.
Wer hat recht?
Schöne Grüße,
Stefan
Das ist versionsabhängig! Für Skalars (und nur für Skalars) macht LabVIEW das in aktuellen Versionen tatsächlich. In älteren Versionen hättest Du damit aber Pech. Für Arrays und Strings macht LabVIEW das aber nur wenn es auch entsprechend in der Konfiguration festgelegt wurde. Auch hier bestand diese Möglichkeit in älteren Versionen überhaupt nicht und musste man es explizit machen. Ich bin ein Befürworter von expliziter Programmierung solcher Dinge. Dann hast Du eine Möglichkeit weniger warum es krachen könnte wenn man zwischen LabVIEW Versionen hin und her geht.