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 

DLLs aus bestimmtem Ordner verwenden nachdem .exe erstellt wurde



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!

19.07.2007, 08:38 (Dieser Beitrag wurde zuletzt bearbeitet: 19.07.2007 08:49 von rolfk.)
Beitrag #6

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
DLLs aus bestimmtem Ordner verwenden nachdem .exe erstellt wurde
' schrieb:Ja, die EXE soll auch auf Rechnern ohne LabVIEW laufen - nur die Ordnerstruktur wo die DLL liegt ist auf allen Zielrechnern dieselbe, da das Programm nur firmenintern verwendet wird...
Beim Projekt selbst steht die DLL bei den Abhängigkeiten mit drin. Und da bekomm ich die einfach nicht raus... schöner Mist :-(

Doch das geht.

Falls Du 8.2 gebrauchst einfach den DLL Path dynamisch als Parameter übergeben und zuvor natürlich auf die richtige Weise selber bestimmen.

Bevor 8.2 hast Du zwei Möglichkeiten:

1) Eine Wrapper DLL für LabVIEW in C schreiben die mit Deiner Applikation distribuiert wird und die eigentliche DLL selber dynamisch lädt und zu deren Funktionen linkt.

2) Stelle sicher dass Du die DLL ins Windows Verzeichnis legst auf Deiner Entwickelmaschine und innerhalb des VIs auch dahin verweist. Dann nimmt der Application Builder die DLL nicht mit. Dann musst Du dafür sorgen dass das Directory wo die DLL installiert ist auf allen anderen Rechnern in der PATH environment Variable mitgenommen wird.
Eventuel (aber ohne Gewähr) kannst Du die PATH environment Variable in Ruhe lassen wenn Du den Pfad dieses Directories im INI File Deiner Application als viSearchPath einträgst. Das könnte aber einen Search Dialog beim Starten der Applikation zur Folge haben.

Aber es ist prinzipiel eine schlechte Idee um eine DLL an einem festen Platz zu installieren. Entweder ist sie System global und gehört dann ins Windwos/System32 Directory, mit entsprechenden Vorkehrungen beim Installieren einer Applikation, dass diese Abhängigkeit in der Registry vermerkt wird so dass beim Deinstallieren einer Software die davon Gebrauch macht die DLL nicht auch verschwindet solange eine andere Applikation noch davon Gebrauch macht, oder sie ist applikationsspezifisch und kommt ins Directory dieser Applikation und referenziert die globalen Informationen die mehere Instanzen davon eventuel benötigen aus einer globalen Resource wie etwa der Registry (oder Applikationen oder DLLs die irgendwo installiert sind und in der Registry eingetragen sind so dass Deine applikationsspezifische DLL diese finden kann).

Rolf Kalbermatter

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


Nachrichten in diesem Thema
DLLs aus bestimmtem Ordner verwenden nachdem .exe erstellt wurde - rolfk - 19.07.2007 08:38

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  DLLs kopieren/Bibliothek nicht gefunden ares2013 4 4.856 26.11.2020 17:06
Letzter Beitrag: rolfk
  DLL einbinden die für NEtFramework 4.0 geschrieben wurde Erdberquark 1 5.932 06.02.2012 11:38
Letzter Beitrag: markus321
  verschiedene DLLs über ein Libary Fct Node M@rRy 16 13.064 19.08.2011 12:37
Letzter Beitrag: GerdW
  Mehrere Cuda DLLs Context-Übergabe grey 2 5.762 17.06.2010 19:50
Letzter Beitrag: rolfk
  Konsolenausgabe bei dlls martinv 1 4.064 20.06.2009 06:25
Letzter Beitrag: rolfk
  Eingebundene DLL zieht weitere DLLs an sima 5 7.988 09.12.2008 14:01
Letzter Beitrag: rolfk

Gehe zu: