Funktion ohne Parameter nicht möglich?

larsg
Beiträge: 218
Registriert: 16 Dez 2014, 18:06

Funktion ohne Parameter nicht möglich?

Beitragvon larsg » 04 Apr 2018, 09:12

Hi,

ich möchte Funktionen ohne Eingabeparameter erstellen, winst lässt dies jedoch nicht zu, ist dieses verhalten gewollt?

Code: Alles auswählen

[Actions]
SetLoglevel=9
DefVar $Test$
DefFunc GetNumber : String
   Set $Result$ = "1"
EndFunc
Set $Test$ = GetNumber

ergibt

Code: Alles auswählen

[8] [Apr 04 09:08:08:977] Found new defined function name: getnumber
[2] [Apr 04 09:08:08:979] Syntax Error in Section: Actions (Command in line 3 origin: C:\tmp\test.opsiscript line: 4): DefFunc -> "(" expected  ( expected


Habe diverse Varianten probiert

Code: Alles auswählen

[Actions]
SetLoglevel=9
DefVar $Test$
DefFunc GetNumber () : String
   Set $Result$ = "1"
EndFunc
Set $Test$ = GetNumber

ergibt

Code: Alles auswählen

[8] [Apr 04 09:08:31:541] Found new defined function name: getnumber
[8] [Apr 04 09:08:31:542] Found defined function parametername: )
[8] [Apr 04 09:08:31:544] Parameter has call type: val
[8] [Apr 04 09:08:31:546] Parameter has invalid data type: string
[2] [Apr 04 09:08:31:547] Syntax Error in Section: Actions (Command in line 3 origin: C:\tmp\test.opsiscript line: 4): DefFunc -> , or ) expected after Parameter Type

thomas.besser
Beiträge: 314
Registriert: 09 Sep 2009, 09:40

Re: Funktion ohne Parameter nicht möglich?

Beitragvon thomas.besser » 04 Apr 2018, 13:13

Geht derzeit nicht. Steht aber schon auf der Roadmap von "d.oertel" (Infos von der opsiconf)

Ebenso müssen Funktionen momentan noch einen Rückgabewert haben/entgegen nehmen.

larsg
Beiträge: 218
Registriert: 16 Dez 2014, 18:06

Re: Funktion ohne Parameter nicht möglich?

Beitragvon larsg » 04 Apr 2018, 15:56

hmmm. ok :?

auch etwas unstimming die fehlermeldung zu folgendem Beispiel:

Skript:

Code: Alles auswählen

DefFunc GetTimeStamp(Nothing:String):Boolean


Log:

Code: Alles auswählen

DefFunc ->  missing or illegal function data type: boolean - only string, stringlist and boolean allowed.

Benutzeravatar
d.oertel
uib-Team
Beiträge: 3269
Registriert: 04 Jun 2008, 14:27

Re: Funktion ohne Parameter nicht möglich?

Beitragvon d.oertel » 06 Apr 2018, 12:15

Hi,

auch etwas unstimming die fehlermeldung zu folgendem Beispiel:


im Gegenteil: die Definition:

Code: Alles auswählen

DefFunc GetTimeStamp(Nothing:String):Boolean

ist ungültig weil als Datentyp der Funktion nur string oder stringlist erlaubt sind.

Funktionen ohne Parameter und
Funktionen ohne Rückgabewert (void)
kommen mit der Version 4.12.0.16 an der ich gerade arbeite.

gruß
d.oertel
opsi support - uib gmbh

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