From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

labview runtime engine in VBS erkennen

Hallo,

das Dataplugin eines Kunden setzt auf die Labview-Runtime-engine auf. Um ein VBS-Makro "anwenderfest" zu machen würde ich gern im Makro abfragen können, ob die Engine in einer bestimmten Version oder höher installiert ist.
Frage: wie kann man in VBS abfragen, ob Labview oder eine Runtime-Engine in einer bestimmten Version installiert ist?

Danke für alle Antworten und Tips

Udo
Message 1 of 4
(3,979 Views)
Hallo Udo
 
Mit der Variable IsAvailLabVIEW kann man prüfen, ob LabVIEW auf dem Rechner installiert ist.

Die Eigenschaft Version für des Objekt LVRuntime, gibt die vom LVRuntime verwendete LabVIEW-Version zurück.

Dim sgRunTimeVersionT : sgRunTimeVersionT = ""
LVRuntime.Init sgRunTimeVersionT
Call MsgBoxDisp (LVRuntime.Version)
LVRuntime.DeInit
Ob man das in einem DataPlugin einsetzen kann, bezweifel ich aber?
 
Da kannst du eventuell  folgendes Script benutzen.
dim oLV
set oLV= CreateObject("labview.application")
msgbox lv.version
 
Beides ist aber nicht sehr schnell, da im Hintergrund LabView gestartet werden muss.
 
Schneller würde es eventuell gehen, wenn du die Registry auslesen könntest.
 
Winfried
0 Kudos
Message 2 of 4
(3,978 Views)
Hallo Udo, Hallo Winfried,

Winfried's erste Beispiel wird nicht in einem DataPlugin funktionieren.  Auch der zweite wird mit "MsgBox" ab DIAdem 10.0 Probleme bekommen.  Vermütlich ist das Ziel ein sinnvollen Fehlermeldung auszugeben wenn der Version nicht passt.  Dafür eignet sich die Funktion RaiseError.

Das Aufruf zu "CreateObject" sollte besser nach einem Aufruf zu "On Error Resume Next" kommen.  Das ist weil, wenn LabVIEW nicht installiert ist, diesen Aufruf ein Fehler werfen kann.  "On Error Resume Next" gibt einem dann die Möglichkeit diesen Fehler zu behandeln anstatt direkt aus dem Skript mit diesem Fehler rauszufliegen.  Zurückschalten kann man dann mit "On Error Goto 0".

Registry auslesen ist möglich, aber nur wenn bestimmte Komponenten auf der Machine installiert sind.  Bei viele Firmen sind diese Komponenten verboten da sie eine Sicherheitsrisiko darstellen.

Viele Grüsse,
Myrle
******************
For tips and tricks on creating VBScript DataPlugins go to http://dataplugins.blogspot.com.
0 Kudos
Message 3 of 4
(3,967 Views)
Danke Myrle, Danke Winfried,

die Idee, das Problem mit einem schlichten "on Error resume" zum umgehen ist sicher die eleganteste, wenn es keine spezielle Variable/ Befehl gibt. Ich werde das versuchen.

Ein Hinweis noch: das Plugin verwendet die RunTime-Engine bereits. Ich will nur eine Ladefunktion des Plugins aufrufen. Ich hätte die Ladefunktion (z.B. in Sud) gar nicht erst angeboten, wenn die Engine nicht vorhanden ist.

Danke für eure Tips

Schönes WE

Udo
0 Kudos
Message 4 of 4
(3,960 Views)