Jump to content
Zum Start hinzufügen

Weitere Informationen

3D-Modellbahn Studio

Eine Vollbild-App auf Ihrem Startbildschirm mit Push-Benachrichtigungen und mehr.

So installieren Sie diese App auf iOS und iPadOS
  1. Tippen Sie auf das Teilen-Symbol in Safari
  2. Scrollen Sie durch das Menü und tippen Sie auf Zum Startbildschirm hinzufügen.
  3. Tippen Sie oben rechts auf Hinzufügen.
So installieren Sie diese App auf Android
  1. Tippen Sie auf das 3-Punkte-Menü (⋮) in der oberen rechten Ecke des Browsers.
  2. Tippen Sie auf Zum Startbildschirm hinzufügen oder App installieren.
  3. Bestätigen Sie durch Tippen auf Installieren.

Empfohlene Beiträge

Geschrieben

Hallo,
ich habe da eine Frage bezüglich defer und deferredCall.
Ich habe ein Päckchen zurechtgemacht um mehrere Drehscheiben mit unterschiedlich vielen Zufahrten und Lokschuppen zu steuern.
Durch die unbestimmte Anzahl der Gleise liegen die Stammdaten der Drehscheiben in tables im zugehörigen Modulskript. Das funktioniert wunderbar.
Jetzt habe ich die zugehörigen Funktionen auch dorthin verschoben, um in den 'normalen' Ereignissen die jeweilige Funktion mit dem zugehörigen Table-Parameter aufrufen zu können.
Die sind jetzt auch prima universell verwendbar.
Nun haben aber die meisten dieser Funktionen auch Verzögerungen drin und nun denke ich, beißt sich da was. defer und deferredCall, so verstehe ich's, scheinen eine direkte Bindung mit dem Ereignis einzugehen, in dem sie gerufen werden. Lager ich's aus, ist die Fähigkeit weg. Im Modulskript rührt sich nämlich diesbezüglich nichts mehr. Muß ich den Funktionsaufrufen noch einen Parameter dafür mit auf den Weg geben und mit return wieder abholen? Oder muß ich in der Konfiguration doch auf Timer umstellen.
 

Modulskript:

Drehscheibe_1 = { ... }

function Drehscheibe_Einfahrt(drehs, track, vehicle)
  if not deferredCall then
     ...
     defer("Verzögerung (3)")
  elseif deferredCall == "Verzögerung (3)" then
     ...
  end
end
   
function...   auch mit defer
function...
function...

normales Ereignis:
Zug betritt ...
Aktion: Drehscheibe_Einfahrt(Drehscheibe_1, track, vehicle)

Gruß
   Andy

 

Geschrieben

Hallo Andy,

vor 3 Minuten schrieb Andy:

Muß ich den Funktionsaufrufen noch einen Parameter dafür mit auf den Weg geben und mit return wieder abholen?

ja und nein:

  • Ja: Du musst den Funktionsaufrufen den Parameter deferredCall mitgeben, ansonsten kennen die Funktionen diesen Parameter nicht.
  • Nein: Du musst nichts mit return abholen. Was willst du denn abholen?

Viele Grüße,

Neo

Geschrieben
  • Autor

 

vor 14 Minuten schrieb Neo:

Was willst du denn abholen?

tja, z.B. deferredCall. Hätte ich mir vorstellen können, wenn das Ereignis wirklich eine Bindung aufbaut. Ich hätte noch ein wenig herumkombiniert, aber ein offizielles Statement von Dir ist mir da doch lieber! Muß es gleich einbauen. Prima, wieder ein kritisches Ding im Griff.

vielen Dank
  Andy

ps: Klappt alles, Neo!

Bearbeitet von Andy
ps

Geschrieben

Hallo @Neo

... wenn bei " deferredCall" die gleiche Beschreibung wie bei "defer" stehen würde, wäre die Sache vielleicht klarer dargestellt. (und eindeutig, dass beides zusammengehört)
Ich habe auch erst nach der Beschreibung bei "defer" verstanden, wie " deferredCall" einzusetzen ist.

Gruß
EASY

Geschrieben

Hallo EASY,

vor 19 Stunden schrieb EASY:

wenn bei " deferredCall" die gleiche Beschreibung wie bei "defer" stehen würde, wäre die Sache vielleicht klarer dargestellt.

es ist meistens keine gute Idee, Dokumentation zu replizieren, weshalb ich bei deferredCall für weitere Informationen auf defer verweise.

Viele Grüße,

Neo

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Push-Benachrichtigungen konfigurieren

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.