opsi-script: Konstanten funktionieren nicht mit importLib

Antworten
mpice-mn
Beiträge: 9
Registriert: 01 Nov 2017, 18:08

opsi-script: Konstanten funktionieren nicht mit importLib

Beitrag von mpice-mn »

Habe mir die neuen Befehle zu lokalen Funktionen (seit version 4.12) mal angeschaut. Sieht schon sehr nützlich aus, aber ich habe folgendes Problem gefunden:
Konstanten (z.B. %ScriptPath%) werden nicht aufgelöst wenn die Funktion über importLib eingebunden wird. Wenn die Funktion direkt in der gleichen Datei definiert wird (oder per include_insert eingebunden), klappt es. Hier ein kleiner Testcase:

setup.opsiscript:

Code: Alles auswählen

[Actions]
SetLogLevel = 5
importLib "testFunc_external.opsiscript"

DefFunc testFunc_inline($arg1$: string): string
        comment "testFunc_inline: %ScriptPath%"
EndFunc

comment "Main script: %ScriptPath%"
DefVar $tmp$
Set $tmp$ = testFunc_inline("test")
Set $tmp$ = testFunc_external("test")
testFunc_external.opsiscript:

Code: Alles auswählen

DefFunc testFunc_external($arg1$: string): string
        comment "testFunc_external: %ScriptPath%"
EndFunc
Output (Getestet mit opsi-script Version 4.12.0.7):

Code: Alles auswählen

comment: Main script: \\opsiserver\opsi_workbench\testFunc
comment: testFunc_inline: \\opsiserver\opsi_workbench\testFunc
comment: testFunc_external: %ScriptPath%
Aktuell scheint auch der Returnvalue und mindestens ein Argument Pflicht zu sein (deshalb sind im Code oben auch die unbenutzten $tmp$ und $arg1$ Variablen drin). Würde mir da noch Versionen von DefFunc wünschen, die das optional machen so dass man dann quasi ein Sub mit lokelen Variablen hat.

Gruß,
Martin
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3319
Registriert: 04 Jun 2008, 14:27

Re: opsi-script: Konstanten funktionieren nicht mit importLib

Beitrag von d.oertel »

Hi mpice-mn,

das hier:
https://download.uib.de/opsi4.0/experim ... 0.8-1.opsi
fixed hoffentlich das Konstanten Problem
Für Rückmeldungen bin ich dankbar.

Den Wunsch nach Proceduren bzw, void functions also ohne Rückgabewert und
den Wunsch das auch keine Argumente erlaubt sind nehme ich als internes Ticket auf.

gruß
d.oertel
opsi support - uib gmbh

For productive opsi installations we recommend support contracts.
http://www.uib.de
http://www.opsi.org
mpice-mn
Beiträge: 9
Registriert: 01 Nov 2017, 18:08

Re: opsi-script: Konstanten funktionieren nicht mit importLib

Beitrag von mpice-mn »

d.oertel hat geschrieben:https://download.uib.de/opsi4.0/experim ... 0.8-1.opsi
fixed hoffentlich das Konstanten Problem
Für Rückmeldungen bin ich dankbar.
Damit funktioniert's!

Vielen Dank!
--
Martin
Antworten