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 

Mal wieder ein DLL Problem



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!

03.08.2007, 21:47
Beitrag #10

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Mal wieder ein DLL Problem
' schrieb:Was für ein Zufall. Hab mich heute erst wieder damit befasst Big Grin

Gelöst hab ich das Problem leider immer noch nicht. Es scheint so als ob die DLL andere DLLs verwendet. (geht das? Ich kenn mich da gar nicht aus).

Ja das geht nicht nur sondern ist ausser für extrem triviale DLLs beinahe unvermeidbar. Meist geht es minimal um ein paar WinAPI DLLs die aber bei Windows sowieso schon dabei sind. Aber eine DLL kann beliebig viele andere DLLs referenzieren und wenn das statisch gemacht wird, kann das Laden der primären DLL durch LabVIEW nur funktionieren, wenn auch alle abhängigen DLLs von Windows gefunden werden. Hier hat LabVIEW aber eben überhaupt keinen Einfluss darauf. Alles was LabVIEW tun kann ist Windows sagen dass es DLL XYZ laden soll und Windows versucht dann alle Abhängigkeiten aufzulösen. Wenn eine davon nicht auflösbar ist für Windows dann sagt Windows zu LabVIEW einfach Ätsch! und verweigert das Laden der DLL und basta.
Es ist denkbar dass das daher kommt dass im gleichen Verzeichnis Deiner DLL die Du in LabVIEW benützen willst noch andere DLLs die von dieser DLL benützt werden liegen. Nachdem Du im Windows FileDialog die DLL angewiesen hat, speichert dieser FileDialog das zuletzt benützte Directory für Deinen Prozess ab und möglicherwiese benützt Windows zusätzlich zu den dokumentierten Pfaden um DLLs zu finden auch noch diesen zuletzt benützten Pfad (Current Directory) um Abhängigkeiten aufzulösen. Das könnte erklären warum es bei Dir immer nach dem Starten zuerst einmal falsch geht da beim Starten einer Applikation das Current Directory durch Windows auf den Ort gesetzt wird wo das Executable sich befindet (und Deine DLLs sich eben nicht befinden).

Das ist aber alles Windows spezifisch und LabVIEW hat da absolut keinen Einfluss darauf.

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


Nachrichten in diesem Thema
Mal wieder ein DLL Problem - benny - 14.03.2007, 09:44
Mal wieder ein DLL Problem - Falk - 14.03.2007, 23:04
Mal wieder ein DLL Problem - benny - 15.03.2007, 08:40
Mal wieder ein DLL Problem - dc6xs - 15.03.2007, 08:55
Mal wieder ein DLL Problem - IchSelbst - 15.03.2007, 09:37
Mal wieder ein DLL Problem - rolfk - 11.07.2007, 09:33
Mal wieder ein DLL Problem - RoLi - 26.07.2007, 10:52
Mal wieder ein DLL Problem - benny - 27.07.2007, 12:23
Mal wieder ein DLL Problem - rolfk - 03.08.2007 21:47

Gehe zu: