Andy Geschrieben 13. Mai 2018 Geschrieben 13. Mai 2018 Hallo EV-Spezialisten: Ich habe ein kleines Problem angehängt, bei dem verschiedenste indirekte Zugriffe schön funktionieren, nur einer nicht (test2). Was mache ich denn da falsch? Oder geht ausgerechnet der Fall nicht? Das wäre leider der, den ich am dringensten brauche. Es wird hier mit Countdowns gearbeitet, die einem Objekt zugeordnet sind. Dass es generell geht, zeigen drei der vier Tests. Nur eben der Eine will nicht. Stimmt da was mit der Schreibweise nicht? In den anderen Fällen geht's doch auch so... Bin ratlos. Grüße und Dank für jede Hilfe Andy ovtest.mbp
brk.schatz Geschrieben 14. Mai 2018 Geschrieben 14. Mai 2018 Hallo Andy, habe dein Problem wo möglich gelöst. Bei Test 2 hast du $(objekt) vorm Namen des Timers angestellt, wenn du das weg läßt funktioniert auch dieser Test. Gruß Karl
brk.schatz Geschrieben 14. Mai 2018 Geschrieben 14. Mai 2018 nochmal hallo Andy, .......soll heißen, den richtigen und kompletten Namen des Timers eingeben. .....hatte ich oben übersehen einzufügen. sorry. Gruß Karl
Andy Geschrieben 14. Mai 2018 Autor Geschrieben 14. Mai 2018 Moin Karl, darum geht's ja - voller Name soll nicht. In den anderen Fällen funktioniert (objekt), wie's ja auch in der EV steht. Nur in genau diesem Fall nicht. Aber genau dieser Ausdruck wäre wichtig, um Dinge so zu parametrisieren, dass man Dinge nur einmal schreiben muß, schnell kopieren kann und nur den Parameter ändert. Mein Bushaltestellenbeispiel hat gezeigt, wie mit recht wenig Aufwand eine ganze Route mit Bushaltestellen versorgt werden kann, und ich erinnere mich, dass Du mir mal gesagt hast, wie viele Gründe es für eine Lok gibt, die Geschwindigkeit zu ändern. Das spielt hier mit rein. Ich prognostiziere mal, dass Bahnland bestätigen wird, dass ich da mal wieder eine Lücke im System gefunden habe. Grüße Andy
Andy Geschrieben 14. Mai 2018 Autor Geschrieben 14. Mai 2018 Ich will gerade noch einmal einen Vorschlag hier einbringen, wenn der (vielleicht eben noch in dieser Version) unterzubringen wäre, dann wäre das für die EV ein starker Gewinn. Nehmen wir an, ich hätte in den Objektvariablen eine Variable countdown1 untergebracht, Dieser Countdown läuft jetzt ab. In den Ereignissen findet die EV nun das Ereignis 'countdown1 läuft ab'. Jetzt findet sie keinen globalen 'countdown1', schnappt sich deshalb aus der Liste der aufgetretenen Ereignisse den ersten Objekt-Countdown, bei dem's mit dem Namen paßt und liefert idealerweise in dem noch ungenutzten _Trigger2 den Objektnamen zurück. Dann könnte man hervorragend 'im Objekt' weiterarbeiten. Jetzt muß sie natürlich noch die anderen Ereignisse abklappern, ob noch ein anderes Objekt zugeschlagen hat. Das wäre durchaus eine Sonderbehandlung im Vergleich zu den anderen Ereignissen. Aber, diskutierbar sollte das in jedem Fall sein. Oh, Antwort kommt rein, die ich erst lesen, wenn das hier raus ist.
brk.schatz Geschrieben 14. Mai 2018 Geschrieben 14. Mai 2018 Hallo Andy, in deinem OVtest sprichst du, unter -Start/Aktionen-, 4 Count down starten mit : gleis, count down 1......4 an. in test2 Ereignis: Count down läuft ab benutzt du den Namen : $(objekt).Count down 2. Diesen Timer konnte ich allerdings in der Auflistung nicht finden, deshalb bin ich von einem "Schreibfehler" ausgegangen. Womöglich steh ich auch auf dem Schlauch. Gruß Karl
Andy Geschrieben 14. Mai 2018 Autor Geschrieben 14. Mai 2018 Hallo Karl, das ist eben die indirekte Programmierung, die ist in der Wiki auch so beschrieben. Du findest noch andere (objekt) Anweisungen in den Tests, die alle funktionieren. Ob da jetzt nenau in diesem Fall das $ davor gehört, wissen die Götter. Mal braucht er's, mal nicht unbedingt. Das ist bei mir jetzt auch ein wenig 'learning by doing'. Ich habe alle Kombinationen durchprobiert. Nada! In der Liste wirst Du etwas Indirektes nie finden. Aber er zeigt, dass alle Countdowns leben. Es scheint so, als wäre die Anwendung eines Countdowns auf einer Objektvariablen nicht unbedingt im Sinne des Erfinders. Er macht zwar einiges mit, aber eben nicht alles. Ich teste mal, wie er auf das Setzen einer Objektvariablen reagiert. Vielleicht mag er das ja. Ich sitze aber gerade an meinem kleinen Notebook, da geht Forum, aber kein MBS, weil's die minimale Bildschirmauflösung nicht bringt. Gruß Andy
Andy Geschrieben 14. Mai 2018 Autor Geschrieben 14. Mai 2018 So, Test gemacht. und das dürfte die 'Lücke' bestätigen. Beim Ereignis 'Variable wird gesetzt' ist der Variablenname nämlich gar nicht editierbar, sondern muß aus der Selektionsliste gewählt werden, und damit ist da der indirekte Zugriff gar nicht erst möglich. Dann gehe ich davon aus, dass beim abgelaufenen Countdown dies eigentlich auch der Fall sein sollte, das Eingabefeld ist halt nur nicht als 'read-only' markiert. Also: Im Ereignis gibt es schlicht und einfach keinen indirekten Zugriff, nur in der Bedingung und der Aktion. Abhaken, erledigt, Papierkorb, umdenken. Sorry für die Aufregung Andy
Empfohlene Beiträge
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 erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden