INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

verschiedene DLLs über ein Libary Fct Node



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!

19.08.2011, 07:10 (Dieser Beitrag wurde zuletzt bearbeitet: 19.08.2011 07:16 von rolfk.)
Beitrag #9

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: verschiedene DLLs über ein Libary Fct Node
(18.08.2011 08:25 )M@rRy schrieb:  Leider habe ich keine andere Version von LV zur Verfügung - obwohl ich gern würde - desalb muss ich damit arbeiten. Ich hatte schon überlegt gehabt ein Drop-Down-Menü zu machen und dann die Case, also genau so wie du es jetzt auch angesprochen hast. Die DLL's sehen auch immer gleich aus aber es werden unter Garantie Neue dazu kommen, die den selben Aufbau, nur ander Informationen, enthalten, deshalb möchte ich es gerne, am besten für einen Unwissenden, es so einfach wie nur möglich halten seine Datei einzubinden und mit der Anlage arbeiten zu können.
Wenn ich den reinen Pfad über das einlesen einer Datei an den Call Libary Function Node gebe geht es so nicht? Also ich habs schon so versucht aber mit den verschiedenen Arten von Pfaden bin ich ein wenig durcheinander gekommen.
Alternativ, ist hier vielleicht eine config (.ini) einfacher?

Dynamisches Verändern des DLL Paths in der Call Library Node ist ein LabVIEW 8.5 Feature. Davor ging das nicht. Soweit Pech für Dich.

Was Du aber tun könntest ist eine DLL zu schreiben die neben den Funktionsparametern auch einen DLL Path bekommt. Dann kannst Du in Deiner DLL Funktion mit LoadLibrary(), GetProcAddress() und FreeLibrary() Deine eigentliche DLL selber laden und ausführen so wie Du das willst.

Eine andere Variante die das Problem nach LabVIEW verlagert, wäre um mittels Call By Reference jeweils die DLL spezifischen VI's aufzurufen. Dann musst Du zwar für jede DLL noch stets ein neues VI schreiben, aber die können ausserhalb Deiner Applikation in einem bestimmten Ordner plaziert werden. Damit kannst Du die Applikation erweitern ohne dass Du sie jeweils neu kompilieren und distributieren musst.

Selber würde ich für die DLL Variante gehen aber das ist nicht ganz trivial. Du musst nämlich auch noch bestimmen zu welchem Zeitpunkt Du jeweils eine DLL wieder aus dem Speicher werfen willst und das korrekt managen.

Und um Konfigurationsdaten zu laden benütze ich immer die INI Files, ausser der Kunde hat bereits ein anderes File Format definiert. Dazu DLLs herbeizuzerren ist wie einen Nagel mit dem Presslufthammer einzuschlagen.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: verschiedene DLLs über ein Libary Fct Node - rolfk - 19.08.2011 07:10

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  DLLs kopieren/Bibliothek nicht gefunden ares2013 4 5.528 26.11.2020 17:06
Letzter Beitrag: rolfk
  Type Libary Pfad herausfinden LabDevo_CLD 1 7.147 24.07.2017 10:25
Letzter Beitrag: jg
  Mehrere Cuda DLLs Context-Übergabe grey 2 6.143 17.06.2010 19:50
Letzter Beitrag: rolfk
  Einbindung der Vector driver libary 6.7 in LabVIEW Langen8 3 7.510 31.07.2009 14:31
Letzter Beitrag: rolfk
  Konsolenausgabe bei dlls martinv 1 4.277 20.06.2009 06:25
Letzter Beitrag: rolfk
  Call Libary Function Node pannchen 3 9.191 06.04.2009 08:11
Letzter Beitrag: pannchen

Gehe zu: