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.01.2009, 13:01 (Dieser Beitrag wurde zuletzt bearbeitet: 13.01.2009 13:01 von LabYouToo.)
Wieviele und was für Addons im Tool angzeigt werden, weiss man im Vorherein nicht.
Jetzt liegt die Idee darin, dass jedes Addon als DLL (erzeugt aus LabVIEW) daherkommt, welche einheitlich immer folgende Funktionen anbietet: GetInformation(), GetBild() und StartAddon(). Beim Init arbeitet sich das Tool dann durch alle DLLs im Ordner, indem das Tool jede einzelne DLL in Actual.dll umbenennt und danach Actual.dll->GetInfromation() und Actual.dll->GetBild aufruft. Somit kann mit diesem Funktionsblock alle möglichen Addons angezeigt werden.
Jetzt zum Problem: LabVIEW lässt mich die DLL-Datei nicht in Actual.dll umbennen, da diese durch den späteren Funktionsblock "Aufruf externer Bibliotheken" benutzt wird. ==> LabVIEW: Dateiberechtigungsfehler. (NI-488: DMA-Hardwarefehler festgestellt)
Hat jemand eine Lösung für mein Problem, wie ich xx.dll trotzdem in Actual.dll unbennen kann? Oder ein anderer Lösungsansatz?
Wieviele und was für Addons im Tool angzeigt werden, weiss man im Vorherein nicht.
Jetzt liegt die Idee darin, dass jedes Addon als DLL (erzeugt aus LabVIEW) daherkommt, welche einheitlich immer folgende Funktionen anbietet: GetInformation(), GetBild() und StartAddon(). Beim Init arbeitet sich das Tool dann durch alle DLLs im Ordner, indem das Tool jede einzelne DLL in Actual.dll umbenennt und danach Actual.dll->GetInfromation() und Actual.dll->GetBild aufruft. Somit kann mit diesem Funktionsblock alle möglichen Addons angezeigt werden.
Jetzt zum Problem: LabVIEW lässt mich die DLL-Datei nicht in Actual.dll umbennen, da diese durch den späteren Funktionsblock "Aufruf externer Bibliotheken" benutzt wird. ==> LabVIEW: Dateiberechtigungsfehler. (NI-488: DMA-Hardwarefehler festgestellt)
Hat jemand eine Lösung für mein Problem, wie ich xx.dll trotzdem in Actual.dll unbennen kann? Oder ein anderer Lösungsansatz?
Mit bestem Dank und freundlichen Grüssen
Reto
kannst du nicht einfach den ursprünglichen namen der dll übergeben anstatt jedes mal umzubenennen?
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
' schrieb:kannst du nicht einfach den ursprünglichen namen der dll übergeben anstatt jedes mal umzubenennen?
Wie meinst du den ursprünglichen namen der dll übergeben?
Das Problem sehe ich darin, dass LabVIEW schon im voraus die/den Namen der DLLs wissen will, da ich den Funktionsblock "Aufruf externer Bibliotheken" nicht dynamisch mit einem Namen laden kann. Und diese Namen weiss ich beim erstellen des Codes nicht.
Empfehlung: Upgrade deiner LabVIEW-Version. Wenn ich jetzt nichts falsches erzähle, kannst du seit Version 8.5 (oder doch schon 8.20?) am DLL-Knoten einen Pfad zur zu ladenden DLL im Blockdiagramm angeben. So aus dem Bauch raus müsstest du damit deine Idee verwirklichen können.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
' schrieb:Empfehlung: Upgrade deiner LabVIEW-Version. Wenn ich jetzt nichts falsches erzähle, kannst du seit Version 8.5 (oder doch schon 8.20?) am DLL-Knoten einen Pfad zur zu ladenden DLL im Blockdiagramm angeben. So aus dem Bauch raus müsstest du damit deine Idee verwirklichen können.
Gruß, Jens
Bei 8.2.1 gehts nicht. War auch grade verwundert.
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Name einer DLL ändern, die in Gebrauch ist.
Bei 8.6 geht's.... Dazu Doppelklick auf den "Call Library Function Node" und dann "Specify Path on Diagram" auswählen (Häkchen rein machen).
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
' schrieb:Bei 8.6 geht's.... Dazu Doppelklick auf den "Call Library Function Node" und dann "Specify Path on Diagram" auswählen (Häkchen rein machen).
[attachment=43734:Unbenannt.JPG]
Gruß Markus
@Y-P: Logisch, hab ich ja auch so beschrieben...
@LabYouToo: Nachtrag: So wie du dir das denkst, wird das unter LV 8 nicht funktionieren. LV lädt meines Wissens nach bei Programmstart im Sourcecode als (mglw.) benötigt deklarierte DLLs in den Speicher. Damit ist dann ein Umbenennen nicht mehr möglich, da haut dann Windows dazwischen.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
' schrieb:@Y-P: Logisch, hab ich ja auch so beschrieben...
@LabYouToo: Nachtrag: So wie du dir das denkst, wird das unter LV 8 nicht funktionieren. LV lädt meines Wissens nach bei Programmstart im Sourcecode als (mglw.) benötigt deklarierte DLLs in den Speicher. Damit ist dann ein Umbenennen nicht mehr möglich, da haut dann Windows dazwischen.
Gruß, Jens
Vielen Dank für Eure Bemühungen!!! Werde mich mal um eine neuere LV Version kümmern.