LabVIEWForum.de
DLL lässt sich nicht einbinden - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: ActiveX & .Net (/Forum-ActiveX-Net)
+---- Thema: DLL lässt sich nicht einbinden (/Thread-DLL-laesst-sich-nicht-einbinden)



DLL lässt sich nicht einbinden - Hachiko - 08.07.2011 13:27

[attachment=34587]Hallo,

ich habe ein VI welches eine DLL benutzt auf einem Rechnen mit LAbview 8.2 am laufen. Auf einem anderen Rechner
habe ich Labview 8.6 und das gleiche VI geht nicht mehr, obwohl die Ordnerstruktur die gleiche ist, sprich alle nötigen Sub-Vis sind erkannt auch die DLL. Diese erkennt Labview aber im VI unter 8.6 nicht mehr.

Ich habe Screenshots angehängt, das Problem fängt schon mit dem Symbol an, keine Ahnung unter welchem Register es abgelegt ist, in der Applikationssteuerung ist es nicht. Mit Rechstklick kann mein eine DLL auswählen, dann kommt schon der Fehler,"Beim laden der Assembly trat ein Fehler auf".


Danke schonmal


Lv10


RE: DLL lässt sich nicht einbinden - jg - 08.07.2011 20:20

Zur 1. Frage, was ist das...
Das ist eine .NET-Referenz-Konstante.
Kannst du erstellen, indem du z.B. am Eingang einer .NET-Propertynode auf Create->Constant klickst. Oder indem du im FP ein .NET-Referenz-Control erzeugst:
Link zu NI, LV-Hilfe

Dass du einen Fehler beim Import der Assembly kriegst, deutet für mich darauf hin, dass der entsprechende Treiber nicht sauber in deinem System installiert ist.

Gruß, Jens


RE: DLL lässt sich nicht einbinden - Hachiko - 11.07.2011 06:40

Hallo schonmal danke, das mit der Konstanten klappt, nur die DLL einbinden bringt noch den gleichen Fehler. Ein neue Erfahrung vom Wochenende zeigte mir, dass das Programm unter Windows7 und Labview 2010 sofort korrekt lief, ohne einen Treiber zu registrieren, echt merkwürdig. Die Kombination mit Win XP und Labview 2010 bringt wieder den Fehler. Werde mich heute mit dem Thema "global Assembly Cache" versuchen.

Gruß

Hachiko


RE: DLL lässt sich nicht einbinden - Hachiko - 11.07.2011 09:29

So,

des Rätstels Lösung, war die DLL in das Systemverzeichnis von Labview zu kopieren, wo sich die LAbview.exe befindet.
Wenn man nun Labview startet gibt es eine Warnung heraus, dass die DLL nicht mehr am ORT xy liegt sind im Labviewverzeichnis. Wenn man das ganze dann akzeptiert und speichert, lädt LV die DLL vom Systemverzeichnis. Schön ist die Lösung nicht, ich konnte mir aber anders nicht helfen, Hauptsachte es geht jetzt.

Hachiko

Lv10


RE: DLL lässt sich nicht einbinden - oenk - 14.07.2011 07:16

FYI:
NI-Loading .NET Assemblies

[...If you reference a .NET assembly from a VI and the assembly does not belong to the .NET Framework, National Instruments strongly recommends that you store the VI in a project to avoid having to place files in the directory in which the LabVIEW.exe file is located....]

[..., National Instruments strongly recommends that you store the VI in a project to avoid having to place files in the directory in which the LabVIEW.exe file is located.]

Das sollte dir weiterhelfen, wo und wie du deine dlls speichern solltest...