Seite 1 von 1

Funktion ohne Parameter nicht möglich?

Verfasst: 04 Apr 2018, 09:12
von larsg
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

Re: Funktion ohne Parameter nicht möglich?

Verfasst: 04 Apr 2018, 13:13
von thomas.besser
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.

Re: Funktion ohne Parameter nicht möglich?

Verfasst: 04 Apr 2018, 15:56
von larsg
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.

Re: Funktion ohne Parameter nicht möglich?

Verfasst: 06 Apr 2018, 12:15
von d.oertel
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