Lokale Variablen mit mehrfachem Aufruf

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

Lokale Variablen mit mehrfachem Aufruf

Beitrag von leonardo »

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
uib-Team
Beiträge: 3319
Registriert: 04 Jun 2008, 14:27

Re: Lokale Variablen mit mehrfachem Aufruf

Beitrag von d.oertel »

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
uib-Team
Beiträge: 3319
Registriert: 04 Jun 2008, 14:27

Re: Lokale Variablen mit mehrfachem Aufruf

Beitrag von d.oertel »

Hi,

hier ist der Fix:
https://download.uib.de/opsi4.0/experim ... .10-1.opsi

gruß
d.oertel
opsi support - uib gmbh

For productive opsi installations we recommend support contracts.
http://www.uib.de
http://www.opsi.org
leonardo
Beiträge: 30
Registriert: 03 Mai 2016, 22:51

Re: Lokale Variablen mit mehrfachem Aufruf

Beitrag von leonardo »

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
Antworten