Jump to content

Benutzerdefiniertes Ereignis Rückgabewert Tabelle/Liste


Empfohlene Beiträge

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...