Lokale Variablen mit mehrfachem Aufruf

leonardo
Beiträge: 18
Registriert: 03 Mai 2016, 22:51

Lokale Variablen mit mehrfachem Aufruf

Beitragvon leonardo » 22 Nov 2017, 09:36

Hallo zusammen,

im Zusammenhang mit der neuen Funktionen mit lokalen Variablen bin ich gestern auf ein Problem gestoßen.
Ein mehrfaches Aufrufen der Funktionen ist nicht möglich, wenn innerhalb der Funktion Variablen definiert (DefVar) werden.
Ein zweiter Aufruf ist dann nicht mehr möglich, da die Variablennamen dann doppelt sind.

Beispiel des Hauptscripts

Code: Alles auswählen

encoding=UTF-8
[Actions]
AutoActivityDisplay = true

DefVar $act_reboot_counter$
DefVar $max_reboot_counter$
DefVar $exit1$
DefVar $exit2$

Set $act_reboot_counter$ = "0"
Set $max_reboot_counter$ = GetProductProperty("max_reboot_counter", "15")

; --- Workflow ---
; Import Libraries
importLib "function-global.opsiscript"

; Prüfe Exitcode
set $exit1$ = function-exitcode_check($act_reboot_counter$,$max_reboot_counter$)
...
set $exit2$ = function-exitcode_check($act_reboot_counter$,$max_reboot_counter$)


Beispiel der aufgerufenen Funktion

Code: Alles auswählen

DefFunc function-exitcode_check(ref $act_reboot_counter$ : string, $max_reboot_counter$ : string) : string
   DefVar $exitcode$

   set $exitcode$ = "0"

   Message "Teste Erfolg der Installation via exitcode ..."
   
   ; --- Workflow ---
   set $exitcode$ = getLastExitCode
   ; informations to exit codes see
   ; http://msdn.microsoft.com/en-us/library/aa372835(VS.85).aspx
   ; http://msdn.microsoft.com/en-us/library/aa368542.aspx
   Switch $exitcode$
   ...
endfunc


Selbstverständlich kann ich das Problem "umgehen", indem ich die Variable $exitcode$ im Hauptscript definiere und nicht in der Funktion. Aber es wäre viel schöner, wenn o.g. Beispiel funktionieren würde :)

Versionen:
opsi Server = 4.0.7.45
opsi-client-agent = 4.0.7.23-4
opsi-winst = 4.12.0.7-1

Viele Grüße
Leonardo

Benutzeravatar
d.oertel
Beiträge: 3188
Registriert: 04 Jun 2008, 14:27

Re: Lokale Variablen mit mehrfachem Aufruf

Beitragvon d.oertel » 04 Dez 2017, 12:40

Hallo leonardo,

vielen Dank für den Bug Report.
Ich war in Urlaub und habe mir jetzt dazu ein internes Ticket aufgemacht.
Ich gehe mal davon aus, das es in den nächsten 2 Wochen eine Fix gibt .....

Ich melde mich dann.

gruß
d.oertel
opsi support - uib gmbh

For productive opsi installations we recommend support contracts.
http://www.uib.de
http://www.opsi.org

Benutzeravatar
d.oertel
Beiträge: 3188
Registriert: 04 Jun 2008, 14:27

Re: Lokale Variablen mit mehrfachem Aufruf

Beitragvon d.oertel » 08 Dez 2017, 12:25

opsi support - uib gmbh

For productive opsi installations we recommend support contracts.
http://www.uib.de
http://www.opsi.org

leonardo
Beiträge: 18
Registriert: 03 Mai 2016, 22:51

Re: Lokale Variablen mit mehrfachem Aufruf

Beitragvon leonardo » 09 Dez 2017, 22:47

Hi,

vielen Dank für den schnellen Fix (das waren die schnellsten 2 Wochen in meinem Leben :D ).
Funktioniert jetzt wie gewünscht.

Viele Grüße
Leonardo