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 

VI mit DLL exportieren



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!

16.04.2013, 11:19
Beitrag #4

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: VI mit DLL exportieren
(16.04.2013 08:48 )potter68 schrieb:  Dann mal ganz ausführlich:

Ich erstellen auf PC1 eine DLL über Werkzeuge->Importieren->DLL. Als Verzeichnispfad gebe ich ein Verzeichnis in meinem Projektordner an (den Ordner, den ich dann auf PC2 kopiere -> also relative Pfade). Danach füge ich in mein Haupt-VI ein paar DLL-Funktionen ein. Alles klappt!

Jetzt kopiere ich diesen ganzen Ordner (Haupt-VI incl. DLL-Sub-VI's) auf einen anderen Rechner (PC2) und starte dann das Haupt-VI. Alles was kommt ist eine Fehlermeldung: 'Knoten zum Aufruf externer Bibliotheken: MachWas_Init(): Funktion in Bibliothek nicht gefunden.".

Klar ist die Funktion in der Bibliothek! Vorher ging es doch auch und warum jetzt nicht mehr? Die Pfade stimmen auch (relativ zum Projekt-Ordner). Ich frag mich nun: was ist zu tun?

Gruß Potter
Nachtrag:
PC1 ist 64 Bit und PC2 32 Bit. Allerdings kopiere ich die 32 Bit Version meiner DLL in den entsprechenden Ordner (im Falle von PC2) anstelle der 64 Bit DLL.
Das sollte dann ja so passen. Bei C++, C# oder Visual Basic geht das jedenfalls genau so.

Gruß Potter.

Die Fehlermeldung sagt deutlich dass er die Funktion in der DLL nicht gefunden hat, nicht dass er die DLL nicht gefunden hat. Das heisst LabVIEW versucht die DLL zu laden und die Funktion zu referenzieren. Das kann jetzt aus zwei Gründen falsch gehen:

1) Die Funktion besteht tatsächlich nicht in der DLL. Diese Variante scheidet aber aus da es auf dem ersten PC schon ging.

2) Die DLL konnte nicht geladen werden! Und hier liegt wohl das Problem. Deine DLL macht wahrscheinlich Gebrauch von anderen DLLs, ziemlich sicher zumindest von der C Runtime Library des Compilers mit dem sie generiert wurde. Und diese "Dependencies" sind auf der Zielmaschine nicht geinistalliert!

Da kann LabVIEW nichts tun, denn LabVIEW kann nicht mal wissen dass diese DLLs Dependencies haben. Das ist Sache der DLL alleine und die kommt dann wohl auch mit einem Installer der halt nicht einfach ein lustiger Zeitvertreib des Entwicklers war sondern ein absolut notwendiges Übel, um die DLL auf einem willkürlichen Rechner lauffähig zu bekommen.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
VI mit DLL exportieren - potter68 - 15.04.2013, 18:06
RE: VI mit DLL exportieren - rolfk - 15.04.2013, 20:09
RE: VI mit DLL exportieren - potter68 - 16.04.2013, 08:48
RE: VI mit DLL exportieren - rolfk - 16.04.2013 11:19
RE: VI mit DLL exportieren - potter68 - 16.04.2013, 13:22
RE: VI mit DLL exportieren - rolfk - 16.04.2013, 20:28
RE: VI mit DLL exportieren - potter68 - 17.04.2013, 10:37
RE: VI mit DLL exportieren - potter68 - 17.04.2013, 14:44

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Blockdiagramm exportieren dhaehn 3 4.781 20.05.2008 14:07
Letzter Beitrag: thomas.sandrisser
  Datenerfassung über C++ in LabVIEW exportieren abrissbirne 22 23.179 24.08.2007 12:04
Letzter Beitrag: rolfk

Gehe zu: