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 

DLL-Einbindung schlägt fehl



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!

23.05.2013, 08:01
Beitrag #4

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: DLL-Einbindung schlägt fehl
(23.05.2013 06:48 )lupus022 schrieb:  Ich habe die DLL sowohl direkt neben die DLL als auch in %system% gepackt. Abhängigkeiten laut DependencyWalker sind die Standarddlls + eine weitere DLL, die ich aber bereits ebenfalls in das Systemdirectory gepackt habe und in sämtliche Orte, an denen die Hauptdll liegt.
Der gesamte Pfad wurde im Library Name or Path control eingegeben (und an diesem Ort liegt auch die DLL).

Dependencies im selben Directory dann wo die Hauptdll liegt ist fast immer sinnlos. Das funktioniert nur wenn der DLL Programmiere explizit die DLL dort zu referenzieren versucht was beinahe niemand tut.

Bist Du auf einem Windows 64 Bit System, mit LabVIEW 32 Bit? Dann musst Du aufpassen welches %system% Directory Du verwendest.

Auch könnte es an einem Manifest in der DLL liegen das eine bestimmte SxS Assembly laden will.

Und das mit den "sämtlichen Orten wo die Hauptdll liegt" klingt verdächtig wie wenn da noch einige Halbleichen rumliegen. Aufräumen!

Wenn Du einen Installer für die DLL und Dependencies hast und dieser alles nett in %system% installiert dann benütze den und referenziere die DLL nur mit dem Namen in der Call Library Node. Ansonsten wirds lästig. Die DLL sollte dann relativ zu den VIs liegen die sie referenzieren, je nach VI Disk Struktur im selben Directory oder einem eine Ebene höher oder tiefer. Die Dependecy sollte immer durch einen Installer in %system% oder in ein Directory dass in der PATH Environment Variable vorkommt, installiert werden. Alternativ kann man sie eventuel auch ins Applicationsdirectory kopieren (das ist im Entwicklungssystem das Directory wo LabVIEW.exe liegt, und in einer Build application wo dein MyApp.exe liegt. Das von LabVIEW normal verwendete data Directory für extra Gemüse funktioniert hier nicht weil LabVIEW nichts mit dem Laden von Dependencies zu tun hat. Das tut direkt Windows und das hat vom data Directory keine Ahnung.

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
Antwort schreiben 


Nachrichten in diesem Thema
DLL-Einbindung schlägt fehl - lupus022 - 22.05.2013, 21:09
RE: DLL-Einbindung schlägt fehl - rolfk - 23.05.2013 08:01

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Einbindung DLL funktioniert nicht Schrankwand 1 4.103 10.03.2023 18:50
Letzter Beitrag: GerdW
  Einbindung DLL mit geschachtelten Structures lab-falballa 2 9.023 10.05.2017 08:28
Letzter Beitrag: lab-falballa
  ext. DLL - Einbindung Read Funktion TobSTAR 7 12.991 12.02.2017 18:40
Letzter Beitrag: rolfk
  Problem bei Struct Einbindung wie in C/C++ raverel 5 8.775 24.04.2013 14:22
Letzter Beitrag: raverel
  DLL-Einbindung, Struct mit verschiedenen Datentypen als Pointer übergeben hawk72 4 11.071 11.05.2012 14:41
Letzter Beitrag: hawk72
  Einbindung der Vector XL Driver Library 5.3 in LabVIEW ... nmoerchen 15 26.641 17.10.2011 07:32
Letzter Beitrag: Mik

Gehe zu: