13.01.2009, 13:11
Beitrag #2
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
Name einer DLL ändern, die in Gebrauch ist.
' schrieb:Hallo zusammen
Bin ganz neu hier und habe schon ein Problem^_^:
Ich arbeite an einem Tool. Dieses Tool soll sogenannte Addons "verwalten" und etwa so aufgebaut sein:
{Bild} {Information} {Start Button} {Remove Button}
{Bild} {Information} {Start Button} {Remove Button}
{Bild} {Information} {Start Button} {Remove Button}
{Bild} {Information} {Start Button} {Remove Button}
...
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)
|
|
|
13.01.2009, 13:16
Beitrag #3
|
LabYouToo
LVF-Grünschnabel
Beiträge: 15
Registriert seit: Jan 2009
2010
-
kA
94**
Deutschland
|
Name einer DLL ändern, die in Gebrauch ist.
' 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.
vielen Dank für die Antwort!
|
|
|
13.01.2009, 13:28
Beitrag #4
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Name einer DLL ändern, die in Gebrauch ist.
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!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
13.01.2009, 13:31
Beitrag #5
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
Name einer DLL ändern, die in Gebrauch ist.
' 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)
|
|
|
13.01.2009, 13:59
Beitrag #6
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
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 !!
--------------------------------------------------------------------------
|
|
|
13.01.2009, 14:21
Beitrag #7
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Name einer DLL ändern, die in Gebrauch ist.
' 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!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
13.01.2009, 14:48
Beitrag #8
|
LabYouToo
LVF-Grünschnabel
Beiträge: 15
Registriert seit: Jan 2009
2010
-
kA
94**
Deutschland
|
Name einer DLL ändern, die in Gebrauch ist.
' 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.
Gruss, Reto
|
|
|
| |