LabVIEWForum.de
Einbinden von DLL - 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: Einbinden von DLL (/Thread-Einbinden-von-DLL)



Einbinden von DLL - marwi33 - 02.11.2004 11:53

Hallo zusammen,

in Kürze kommt ein LabVIEW-Problem auf mich zu.

In einer Steuerung von Messapplikationen wird ein DLL generiert.
Dieses DLL soll ich in einer LabVIEW_anwendung verarbeiten.

Da ich bisher wenig mit DLL zu tun hatte, stehe ich ziemlich ratlos da.

...was macht dieses Ding, wie binde ich Sie an....und und und....
...gibt es Literatur....

Vielen Dank im Voraus

Gruß MarWi


Einbinden von DLL - Oliver Listing - 02.11.2004 21:45

Hi marwi33,

eigentlich ist das ganz einfach.
Man muß nur die Funktionen mit ihren erwarteten Parametern und deren Typen kennen.
Du brauchst zum Einbinden nur noch im Diagram die "Call Libary Function Node" benutzen (unter Function/Advanced).
Ein Doppelclick öffnet Dir ein Dialog, in welchem du die Libary und darunter die Funktion aussuchen kannst.
Dann interressieren dich nur noch die Parameter. Als Hilfe schreibt dir LabVIEW den Function Prototyp zur Kontrolle hin.

Probleme kriegst Du erst, wenn du eine Funktion hast, die dir ein zweidimensionales StringArray zurückliefert (Das habe ich nämlich- vielleicht sollte ich das mal posten ?!?!)

viel glück
Oliver


Einbinden von DLL - marwi33 - 03.11.2004 08:20

Hallo Oliver,

vielen Dank für Deine schnelle Hilfe.

Wenn das so einfach ist....eine Frage hätte ich dann doch noch....
...Derjenige, der das DLL zur Verfügung stellt, muss mir dann aber
genau Auskunft geben können, was darin geschieht und wie und wo
die Parameter übergeben werden...oder....???

Gruß
MarWi33


Einbinden von DLL - Dennis.Moser - 03.11.2004 10:04

hallo,

ja du musst ja wissen welche variable welch funktion herausgibt oder annimmt.

also lass dir die dll beschreibung geben, dann sollte es ohne probleme funktionieren.


gruss dennis


Einbinden von DLL - Martin.Henz - 18.01.2005 03:58

Oliver Frank schrieb:eigentlich ist das ganz einfach.

Das gilt aber im wesentlichen nur in zwei Fällen:

1. die DLL kann die LabVIEW Datentypen verarbeiten (String Handles, Cluster etc.)

2. die DLL verwendet im wesentlichen nur Basisdatentypen (wobei ich das jetzt nicht genauer beschreiben will).

Danneben gibt es noch eine ganze Reihe weiterer denkbarer Probleme bei denen das nicht oder nicht korrekt funktioniert. Zum Beispiel dann, wenn die DLL den Speicher für einen zurückgelieferten String allokiert und der Aufrufende den Speicher wieder frei geben müsste.


Einbinden von DLL - walterk - 14.07.2005 12:48

Martin Henz hat folgendes geschrieben:
Danneben gibt es noch eine ganze Reihe weiterer denkbarer Probleme bei denen das nicht oder nicht korrekt funktioniert. Zum Beispiel dann, wenn die DLL den Speicher für einen zurückgelieferten String allokiert und der Aufrufende den Speicher wieder frei geben müsste.

Jetzt hänge ich gerade an diesem Punkt. Wie ist denn das mit dem Speicher freigeben? Das allokieren geht ja noch, aber vielleicht mache ich da auch 'was falsch

Walter


Einbinden von DLL - Martin.Henz - 14.07.2005 15:41

[quote=walterk]Martin Henz hat folgendes geschrieben: