LabVIEWForum.de
dll einbinden? - 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: dll einbinden? (/Thread-dll-einbinden)



dll einbinden? - kor - 20.07.2009 13:53

hallo

Ich möchte eine dll einbinden. wenn ich diese importieren will und und auch die dazugehörende header datei angebe, habe ich das problem dass da noch andere header includiert werden(z.b.:math.h, stdlib.h, etc) muss ich dafür einen c pompiler installieren und den pfad angeben wo sich diese bibliotheken befinden?

mfg


dll einbinden? - RoLe - 20.07.2009 16:02

Du kannst die DLL auch manuell einbinden, wenn der Import-Assistent an seine Grenzen kommt.

Kennst du das LVF-Tutorial: Einbinden einer DLL in LabVIEW


dll einbinden? - jg - 20.07.2009 19:35

' schrieb:Ich möchte eine dll einbinden. wenn ich diese importieren will und und auch die dazugehörende header datei angebe, habe ich das problem dass da noch andere header includiert werden(z.b.:math.h, stdlib.h, etc) muss ich dafür einen c pompiler installieren und den pfad angeben wo sich diese bibliotheken befinden?
Nein, im Normalfall nicht. Habe auch schon einige DLLs vom Assistenten einbinden lassen, immer schön brav ohne C-Compiler und ohne diese Standard-C-Header-Dateien.

Lass den Assistenten einfach mal weiterlaufen, der erzählt dir in der 8.6er Version schon recht genau, was er noch an Dateien haben will oder nicht.

Gruß, Jens


dll einbinden? - kor - 21.07.2009 08:01

hallo

Habe jetzt die dll eingebunden aber sobald ich das vi aus der Bibliothek in mein Block Diagramm ziehen möchte bekomme ich unten angegebene Fehlermeldung.
Weiß jemand was das bedeutet?

mfg


dll einbinden? - rolfk - 21.07.2009 08:30

' schrieb:hallo

Habe jetzt die dll eingebunden aber sobald ich das vi aus der Bibliothek in mein Block Diagramm ziehen möchte bekomme ich unten angegebene Fehlermeldung.
Weiß jemand was das bedeutet?

mfg

C Runtime Library Installation!!

Deine DLL macht eindeutig Gebrauch von C Runtime Funktionen (Gebrauch von Headern wie math.h lässt eindeutig darauf schliessen). Abhängig davon mit welcher Visual C Version die gelinkt wurde und von den Linksettings dabei gibt es Probleme. Standardmässig wird die C Runtime dynamisch gelinkt, d.h. sie ist nicht Bestdandteil der Applikation oder DLL sondern wird über einen kleinen Stub zur Laufzeit als DLL mitgeladen.

Jede Visual Studio Version kommt aber mit einer neuen C Runtime Version. Wenn da dann Visual Studio 2008 Express verwendet wurde (weil die so schön gratis ist Tongue) dann musst Du auch die Runtime Library von Visual Studio 2008 installiert haben. Das ist unter Vista eventuel standard anwesend aber unter XP halt sicher nicht. Das kann unter XP nur anwesend sein wenn Du schon andere Applikationen installiert hast die mit dieser Visual Studio Version gelinkt sind UND die mit der dynamischen C Runtime gelinkt sind UND wo dementsprechend die C Runtime Library aus den Redistributables der Visual Studio Komponenten mit installiert wurde.

Mit dem einfachen Kopieren der DLL wirst Du da wohl nicht weiterkommen sondern da brauchts einen ordentlichen Installer für die DLL und alle Abhängigkeiten.

Rolf Kalbermatter


dll einbinden? - kor - 21.07.2009 10:24

hallo

Danke ersteinmal für die Hilfe!

Ich habe jetzt meine dll erfolgreich eingebunden. Als nächstes will ich ein Array aus LabVIEW der dll übergeben, welche aber einen Zeiger erwartet. Meine Frage also: wie bekomme ich von einem LabVIEW array die Adresse damit ich diese übergeben kann?

mfg


dll einbinden? - jg - 21.07.2009 19:33

schon mal Beitrag #2 gelesen?
http://www.LabVIEWforum.de/index.php?s=&am...ost&p=76792

Gruß, Jens


dll einbinden? - rolfk - 22.07.2009 07:21

Arrays musst Du an der Call Library Node direkt entsprechend konfigurieren und innerhalb von LabVIEW einfach als Array weitergeben, also auch zu einem subVI.

Jens Tipp wäre aber sicher sehr zu beherzigen. Diese Tutorials wurden zu einem Zweck gemacht, nämlich anderen zu helfen, aber lesen muss man sie halt schon sleber und sich auch etwas Mühe machen um das dort erwähnte zu verstehen.

Rolf Kalbermatter