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!
13.02.2009, 13:36 (Dieser Beitrag wurde zuletzt bearbeitet: 20.02.2009 11:17 von MarcoK.)
ich bin gerade dabei ein .NET-Software mit Zugriff auf Webcamzugriff zu schreiben. Diese soll dann später in ein LabVIEW-Projekt eingebunden werden.
Ich habe jetzt mal Testweise versucht die Software in LabVIEW einzubinden. Leider bekomme ich in dem Dialog nur die Meldung: Beim Laden der Assembly trat ein Fehler auf.
Ein 2tes kleine Programm mit einer einfachen WindowsForm funktionierte sofort.
Hatte sowas schon mal jemand, bzw. weiß auf was ich achten muss wenn ich ein eigenes Programm in LabVIEW einbinden möchte?
Verwendet wird LabVIEW 8.1 und Visual C++ 2008 Express.
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
[erledigt] Fehler beim laden der Assembly
:profil:LabVIEW 8.1 gibt es nicht.
Kannst Du mal Dein VI hochladen?
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Hab dir mal die beiden Progarmme und das Vi gezippt.
Wirst aber nicht viel sehen, ist nur ein .NET-Container ohne Komponente :/
Das Progarmm DShow.VC.exe läuft noch äusserst unstabil, noch ganz frühes Entwicklungsstadium. Wenn auf dem Rechner keine Webcam installiert ist stürzt es evtl sofort ab.
In der Entwicklungsumgebung von Microsoft läuft es aber bereits.
Den VI Upload hätte man sich tatsächlich sparen können.
Kann es sein, dass dein VC++ Programm einige DLLs verwendet, die du im VisualStudio zwar eingebunden hast, die aber im LabVIEW-Betrieb einfach nicht auffindbar sind? Ich kenne mich da nicht so genau aus aber wenn du sagst, dass ein einfaches Programm gut läuft, müssen es ja irgendwie die UNEINFACHEN Dinge sein, die es blockieren.
LG
Torsten
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
' schrieb:Den VI Upload hätte man sich tatsächlich sparen können.
Kann es sein, dass dein VC++ Programm einige DLLs verwendet, die du im VisualStudio zwar eingebunden hast, die aber im LabVIEW-Betrieb einfach nicht auffindbar sind? Ich kenne mich da nicht so genau aus aber wenn du sagst, dass ein einfaches Programm gut läuft, müssen es ja irgendwie die UNEINFACHEN Dinge sein, die es blockieren.
LG
Torsten
Hmm Ok das kann sein, ich verwende die DLL's von Emgu.CV, hatte sie aber mit der exe und dem VI zusammen in ein Verzeichniss gepackt. Kann es sein das LabVIEW dort nicht nach DLL's sucht?
Wo müsste ich sie hinpacken, das LabVIEW sie auf jedenfall finden, system32 ?
Die Emgu.CV-DLL's selbst lassen sich übrigens in LabVIEW eibinden.
' schrieb:Hmm Ok das kann sein, ich verwende die DLL's von Emgu.CV, hatte sie aber mit der exe und dem VI zusammen in ein Verzeichniss gepackt. Kann es sein das LabVIEW dort nicht nach DLL's sucht?
Wo müsste ich sie hinpacken, das LabVIEW sie auf jedenfall finden, system32 ?
Die Emgu.CV-DLL's selbst lassen sich übrigens in LabVIEW eibinden.
MfG
Marco
LabVIEW sucht gar nicht nach DLLs ausser der die Du direkt selber in ein VI einbindest. Alles andere tut Windows und da hat LabVIEW sehr wenig Einfluss drauf. Zwar scheint LabVIEW in neueren Versionen Windows auch das Projektdirectory (also dort wo Dein xyx.lvproj file ist) als zu durchsuchendes Directory unterschmuggeln zu versuchen. Aber ob das so stimmt weiss ich nicht und es ist auch etwas was Microsoft eigentlich abrät zu tun.
Windows selber sucht für .Net DLLs normalerweise nur im Verzeichnis des aktuellen Prozesses selber (in der LabVIEW IDE ist das dort wo LabVIEW.exe liegt) und im Global Assembly Cache (GAC).
' schrieb:LabVIEW sucht gar nicht nach DLLs ausser der die Du direkt selber in ein VI einbindest. Alles andere tut Windows und da hat LabVIEW sehr wenig Einfluss drauf. Zwar scheint LabVIEW in neueren Versionen Windows auch das Projektdirectory (also dort wo Dein xyx.lvproj file ist) als zu durchsuchendes Directory unterschmuggeln zu versuchen. Aber ob das so stimmt weiss ich nicht und es ist auch etwas was Microsoft eigentlich abrät zu tun.
Windows selber sucht für .Net DLLs normalerweise nur im Verzeichnis des aktuellen Prozesses selber (in der LabVIEW IDE ist das dort wo LabVIEW.exe liegt) und im Global Assembly Cache (GAC).
Rolf Kalbermatter
Mit den DLL's hat es nichts zu tun, ich habe mittlerweile herausgefunden das VC++ 2008 Assemblys mit der Option /clr:pure compiliert werden müssen.
Hallo,
ich habe hier leider ein ähnliches Problem. Ich binde ein selbstgeschriebenes Assembly ein, welches am Freitag auf dem PC noch funktionierte. nach einem Neustart heute früh meldet mir LabVIEW einen "Fehler beim Laden des assemblys". In der Eventübersicht meldet sich auch das COM+ Modul mit einer Warnung. Hab aber keine Ahnung was das genau bedeutet. Hat jemand vielleicht eine Idee warum LabVIEW auf einmal nicht mehr das assembly öffnen kann? Alle anderen Assembly lassen sich einwandfrei öffnen und "bedienen".
P.S. Die NI-Hotline scheint damit leider auch überfordert...
' schrieb:Hallo,
ich habe hier leider ein ähnliches Problem. Ich binde ein selbstgeschriebenes Assembly ein, welches am Freitag auf dem PC noch funktionierte. nach einem Neustart heute früh meldet mir LabVIEW einen "Fehler beim Laden des assemblys". In der Eventübersicht meldet sich auch das COM+ Modul mit einer Warnung. Hab aber keine Ahnung was das genau bedeutet. Hat jemand vielleicht eine Idee warum LabVIEW auf einmal nicht mehr das assembly öffnen kann? Alle anderen Assembly lassen sich einwandfrei öffnen und "bedienen".
P.S. Die NI-Hotline scheint damit leider auch überfordert...
NI kann Dir dabei auch kaum helfen. Selbstgeschriebene Assemblies sind doch echt etwas das man mit Visual C# macht und da wäre allenfalls Microsofts Support zuständig, nur ist es da etwas schwierig irgendwo einfach anzurufen. Zuerst musst Du versuchen eine Assembly in einem selbstgeschriebenen Programm zu laden.
COM module können überall auf der HD sein, müssen aber registriert sein um Windows sie finden zu lassen. Assemblies dagegen müssen im Applikationsdirectory oder im Global Assembly Cache lokalisiert sein um sie durch Windows finden zu lassen. In der LabVIEW Entwickelumgebung kommt dabei noch das Projektdirectory hinzu. Alles andere is nur mit wesentlichem Programmieraufwand von Dir selber zu tun.