Seite 1 von 1

opsi-script: Konstanten funktionieren nicht mit importLib

Verfasst: 03 Nov 2017, 18:16
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

Re: opsi-script: Konstanten funktionieren nicht mit importLib

Verfasst: 06 Nov 2017, 18:25
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

Re: opsi-script: Konstanten funktionieren nicht mit importLib

Verfasst: 07 Nov 2017, 11:40
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