LabVIEWForum.de
Fehlende externe Funktion - 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: Fehlende externe Funktion (/Thread-Fehlende-externe-Funktion)



Fehlende externe Funktion - galilio - 27.04.2016 16:53

Hallo Zusammen,



Einen Ersteller Installer lauft auf PC Windows7 64 Bit.
Sobald ich auf einen anderen PC testen möchte (auch Windows 7 64 Bit) bekomme ich folgende Fehlermeldung.

Seh bitte Anhang.

Ich habe hier in Forum auf dieses gestossen:
http://www.labviewforum.de/Thread-fehlende-externe-Funktion-DLL.

Fehlermeldung ist immer noch vorhanden, obwohl ich die DLLs in System32 kopiert habe.

Treiber des Board ist auch installiert aber Fehlermeldung ist geblieben.


RE: Fehlende externe Funktion - hajos118 - 28.04.2016 07:33

Werden aus der DLL irgendwelche Funktionen benutzt aber _nicht_ angemeckert?
Wird der Aufruf der Funktionen mittels fester DLL-Pfadangabe benutzt?


RE: Fehlende externe Funktion - rolfk - 28.04.2016 07:37

(27.04.2016 16:53 )galilio schrieb:  Hallo Zusammen,



Einen Ersteller Installer lauft auf PC Windows7 64 Bit.
Sobald ich auf einen anderen PC testen möchte (auch Windows 7 64 Bit) bekomme ich folgende Fehlermeldung.

Seh bitte Anhang.

Ich habe hier in Forum auf dieses gestossen:
http://www.labviewforum.de/Thread-fehlende-externe-Funktion-DLL.

Fehlermeldung ist immer noch vorhanden, obwohl ich die DLLs in System32 kopiert habe.

Treiber des Board ist auch installiert aber Fehlermeldung ist geblieben.

Deine EfiLibraryd.dll verwendet weitere externe DLLs die nicht vorhanden sind auf Deinem System. Kann es sein dass das d am Ende des DLL Namens bedeutet dass Du diese mit Debug Settings hast kompiliert in Visual C? Dann kannst Du die nur auf einem System ausführen wo dieselbe Visual Studio Version installiert ist. Debug Builds verwenden bei Default eine andere Version der C Runtime Library, die nur mit Visual Studio installiert wird.

Nicht nur gibt es dafür keinen seperaten Installer wie für die Standard Microsoft C Runtime Library, aber hast Du legal auch nicht das Recht diese auf einem anderen Computer zu installieren ohne gültige Visual Studio License auf diesem Computer.

Wenn eine sekundäre Abhängigkeit einer DLL (also eine weitere DLL die von der ersten referenziert wird) von Windows nicht gefunden wird, dann weigert Windows das Laden der DLL. LabVIEW sieht nur dass die DLL nicht von Windows geladen werden konnte aber nicht warum das so ist. Das kann dann sein weil die DLL selber nicht vorhanden oder korrumpiert ist, oder die DLL Initialisieringsroutine einen Fehler verursachte, aber eben auch dass eine sekundäre DLL nicht gefunden werden konnte.


RE: Fehlende externe Funktion - galilio - 28.04.2016 08:12

(28.04.2016 07:33 )hajos118 schrieb:  Werden aus der DLL irgendwelche Funktionen benutzt aber _nicht_ angemeckert?
Das glaube ich eher nicht
(28.04.2016 07:33 )hajos118 schrieb:  Wird der Aufruf der Funktionen mittels fester DLL-Pfadangabe benutzt?
Nein


(28.04.2016 07:37 )rolfk schrieb:  Deine EfiLibraryd.dll verwendet weitere externe DLLs die nicht vorhanden sind auf Deinem System. Kann es sein dass das d am Ende des DLL Namens bedeutet dass Du diese mit Debug Settings hast kompiliert in Visual C?
Ja ich benutze ersmal die Debug Version der Visual Studio

(28.04.2016 07:37 )rolfk schrieb:  Dann kannst Du die nur auf einem System ausführen wo dieselbe Visual Studio Version installiert ist. Debug Builds verwenden bei Default eine andere Version der C Runtime Library, die nur mit Visual Studio installiert wird.
@ Danke für den Hinweis

(28.04.2016 07:37 )rolfk schrieb:  Nicht nur gibt es dafür keinen seperaten Installer wie für die Standard Microsoft C Runtime Library, aber hast Du legal auch nicht das Recht diese auf einem anderen Computer zu installieren ohne gültige Visual Studio License auf diesem Computer.

Wenn eine sekundäre Abhängigkeit einer DLL (also eine weitere DLL die von der ersten referenziert wird) von Windows nicht gefunden wird, dann weigert Windows das Laden der DLL. LabVIEW sieht nur dass die DLL nicht von Windows geladen werden konnte aber nicht warum das so ist. Das kann dann sein weil die DLL selber nicht vorhanden oder korrumpiert ist, oder die DLL Initialisieringsroutine einen Fehler verursachte, aber eben auch dass eine sekundäre DLL nicht gefunden werden konnte.
Ich habe mein debug Version auf einen PC mit Windows 10.
Es hat sofort funktioniert ohne Problem.
Ich kann mit dem Board kommunizieren und messen .... No Probleme
Kann es sein, dass das Problem nur auf:
Windows 7 (64 Bit) und der Labview 2014 (32 Bit) ist?


RE: Fehlende externe Funktion - rolfk - 28.04.2016 12:42

(28.04.2016 08:12 )galilio schrieb:  Ich habe mein debug Version auf einen PC mit Windows 10.
Es hat sofort funktioniert ohne Problem.
Ich kann mit dem Board kommunizieren und messen .... No Probleme
Kann es sein, dass das Problem nur auf:
Windows 7 (64 Bit) und der Labview 2014 (32 Bit) ist?

Gefühlsmässig würde ich sagen eher nicht, aber ohne weitaus mehr Informationen kann ich wirklich nichts weiteres dazu sagen.