Jump to content

Benutzerdefiniertes Ereignis Rückgabewert Tabelle/Liste


EASY

Recommended Posts

Hallo,

ich habe ein Ereignis...

local a=$("Benutzerdefiniert"):invoke()
print(a)

... und ein benutzerdefiniertes Ereignis...

local b=123
return b

... der Aufruf bringt mir das gewünschte Ergebnis...
Bild001.jpg.9938c3df97b79cf9bc667b85ccedb850.jpg

Nun habe ich dieses Ereignis...

local a=$("Benutzerdefiniert"):invoke()
print(#a)

... mit diesem benutzerdefinierten Ereignis...

local b={1,2,3}
return b

... dies ergibt eine Fehlermeldung...
Bild002.jpg.ca2f5f2350c710fde1c07a29070f2090.jpg

Wenn ich das benutzerdefinierte Ereignis als Funktion in das Ereignis schreibe...

local function test()
  local b={1,2,3}
  return b
end

local a=test()
print(#a)

... kommt das gewünschte Ergebnis...
Bild003.jpg.6183184cbfd39d8677a2de023dbd6d11.jpg

Nun ist meine Frage @Neo (oder wer etwas weiß)...
Mache ich einen Fehler oder kann ein benutzerdefiniertes Ereignis keine Tabelle zurückgeben?

Gruß
EASY

Link to comment
Share on other sites

Hallo @EASY,

diese Möglichkeit gibt es noch nicht lange.  siehe WIKI 

Version 8.5.4.0 vom 21.08.2023

Ereignisverwaltung

  • Erweiterung der Wiederholung "Für alle Fahrzeuge in einem Zug/Fahrzeugverbund" um eine zusätzliche Ausrichtung der einzelnen Fahrzeuge relativ zur Fahrtrichtung. Damit können mit nur wenigen Befehlen Fahrzeugtüren auf den richtigen Seiten geöffnet werden.
  • Zugriff auf die Portal-Verbindung per EV
  • Return-Werte von benutzerdefinierten Ereignissen werden in Lua an die aufrufende Funktion zurückgegeben
  • Die Schriftgröße der Aktionen/Lua-Skripte kann in der EV geändert werden
  • Eine neue Steuerschnittstelle auf JSON-RPC-Basis und Integration in die EV

 

Vielleicht musst du die Variable "a" im Ereignis erst als Liste definieren und dann das benutzerdefinierte Ereignis zuweisen.

local a={}
a = $(
"Benutzerdefiniert"):invoke()

print(#a)

 

VG,

Hawkeye    

Link to comment
Share on other sites

Hallo EASY,

hier hat sich noch ein Fehler eingeschlichen. Komplexe Datentypen wie Tabellen und Listen werden zu schnell freigegeben, noch bevor der Aufrufer diese verarbeiten kann. Getestet hatte ich die neue Funktionalität nur mit einfachen Datentypen, weshalb mir der Fehler nicht aufgefallen war. Danke für die Meldung, ich werde den Fehler beseiten.

Viele Grüße,

Neo

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...