Fahrpult-dll's funktionieren nicht mehr nach Update auf Sim 3.5.6.8

Hier bitte Programmierfehler der Zusi-Software melden.
Antworten
Nachricht
Autor
Benutzeravatar
JuRa
Beiträge: 271
Registriert: 27.02.2018 09:04:33
Aktuelle Projekte: Stecke Plockhorst - Peine
Objekte Epoche III
Wohnort: Edemissen
Kontaktdaten:

Fahrpult-dll's funktionieren nicht mehr nach Update auf Sim 3.5.6.8

#1 Beitrag von JuRa »

Ich habe 2 dll's am Laufen. Zum Einen meine "Dampflok-Antriebs-Modell" und von F.Schn. die erweiterte Tastaturoptionen.
Bild
Beide "Fahrpulte" funktionieren nicht mehr nach dem Update. Einfach keine Funktion, als ob sie nicht da wären.
Habe dann zum Testen die vorherige Sim-Version wieder eingespielt -> damit geht es wieder.

Gruß
Jürgen

Benutzeravatar
Carsten Hölscher
Administrator
Beiträge: 33450
Registriert: 04.07.2002 00:14:42
Wohnort: Braunschweig
Kontaktdaten:

Re: Fahrpult-dll's funktionieren nicht mehr nach Update auf Sim 3.5.6.8

#2 Beitrag von Carsten Hölscher »

Meine Testfälle laufen wie gewohnt. Wie geht's denn den anderen?
Carsten

Benutzeravatar
F. Schn.
Beiträge: 6698
Registriert: 24.10.2011 18:58:26

Re: Fahrpult-dll's funktionieren nicht mehr nach Update auf Sim 3.5.6.8

#3 Beitrag von F. Schn. »

Kann ich so weit bestätigen. Näher untersucht habe ich es aber noch nicht.
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat

Benutzeravatar
F. Schn.
Beiträge: 6698
Registriert: 24.10.2011 18:58:26

Re: Fahrpult-dll's funktionieren nicht mehr nach Update auf Sim 3.5.6.8

#4 Beitrag von F. Schn. »

Also meine DLL bleibt auf Standby, weil nach dem Aufgleisen des Fahrzeuges die Methode Grundzustand() nicht mehr aufgerufen wird. Ich würde das fast als Bug einstufen?
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat

Benutzeravatar
Carsten Hölscher
Administrator
Beiträge: 33450
Registriert: 04.07.2002 00:14:42
Wohnort: Braunschweig
Kontaktdaten:

Re: Fahrpult-dll's funktionieren nicht mehr nach Update auf Sim 3.5.6.8

#5 Beitrag von Carsten Hölscher »

Eigentlich ist das nur gedacht, den Ausgangszustand wieder herzustellen. Als Initialisierung war es nicht vorgesehen.

Carsten

Benutzeravatar
F. Schn.
Beiträge: 6698
Registriert: 24.10.2011 18:58:26

Re: Fahrpult-dll's funktionieren nicht mehr nach Update auf Sim 3.5.6.8

#6 Beitrag von F. Schn. »

An welcher Stelle versucht denn Zusi, den Ausgangszustand wieder herzustellen? Nehmen wir mal an, ich mache eine Fahrt, beende diese, und fahre anschließend mit "Fahrplan neu starten" eine andere Fahrt. Dann brauche ich in diesem Fall ja sehr wohl "Grundzustand()"?
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat

Benutzeravatar
Carsten Hölscher
Administrator
Beiträge: 33450
Registriert: 04.07.2002 00:14:42
Wohnort: Braunschweig
Kontaktdaten:

Re: Fahrpult-dll's funktionieren nicht mehr nach Update auf Sim 3.5.6.8

#7 Beitrag von Carsten Hölscher »

Ja, auch wenn man den Zug vom Autopiloten übernimmt o.ä. müsste es kommen.

Carsten

Benutzeravatar
JuRa
Beiträge: 271
Registriert: 27.02.2018 09:04:33
Aktuelle Projekte: Stecke Plockhorst - Peine
Objekte Epoche III
Wohnort: Edemissen
Kontaktdaten:

Re: Fahrpult-dll's funktionieren nicht mehr nach Update auf Sim 3.5.6.8

#8 Beitrag von JuRa »

Carsten Hölscher hat geschrieben: 04.01.2024 00:17:15 Ja, auch wenn man den Zug vom Autopiloten übernimmt o.ä. müsste es kommen.
Ahh, wenn ich einmal Autopilot ein- und wieder ausschalte, dann beginnt die dll mit der Arbeit. Mit "Anderen Zug übernehmen" geht es nicht.

Was mir gerade bei den Test noch aufgefallen ist, passt zwar nicht so ganz in den Thread, aber evtl. hängt das ja damit zusammen:
Die Gestängeanimation der Dampfloks und auch der V60 funktionieren nicht mehr. Die Loks schieben mit stehenden Rädern übers Gleis. Mit 3.5.6.4. alles i.O.

Gruß
Jürgen

Benutzeravatar
F. Schn.
Beiträge: 6698
Registriert: 24.10.2011 18:58:26

Re: Fahrpult-dll's funktionieren nicht mehr nach Update auf Sim 3.5.6.8

#9 Beitrag von F. Schn. »

F. Schn. hat geschrieben: 03.01.2024 23:34:09 Nehmen wir mal an, ich mache eine Fahrt, beende diese, und fahre anschließend mit "Fahrplan neu starten" eine andere Fahrt. Dann brauche ich in diesem Fall ja sehr wohl "Grundzustand()"?
Carsten Hölscher hat geschrieben: 04.01.2024 00:17:15Ja
JuRa hat geschrieben: 04.01.2024 08:32:04 Mit "Anderen Zug übernehmen" geht es nicht.
Auch bei "Anderen Zug übernehmen" und auch bei "Fahrplan neu starten" müsste eigentlich immer "Grundzustand()" kommen.

Was da mein Hintergedanke ist:
Das bedeutet aber, dass "Grundzustand()" so häufig kommen müsste, dass es sich fast nicht lohnen wird, all diese Fälle einzeln zu erfassen. Deswegen wäre es aus meiner Sicht am Naheliegendsten, "Grundzustand()" zu einer Init-Funktion zu machen, also auch vor der ersten Zugfahrt aufzurufen, sprich es dann aufzurufen, wenn ein Zug betreten wird. Dann spart man sich die Detektion, ob man jetzt "Anderen Zug übernehmen" oder "Fahrplan neu starten" aufgerufen hat.
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat

Benutzeravatar
Carsten Hölscher
Administrator
Beiträge: 33450
Registriert: 04.07.2002 00:14:42
Wohnort: Braunschweig
Kontaktdaten:

Re: Fahrpult-dll's funktionieren nicht mehr nach Update auf Sim 3.5.6.8

#10 Beitrag von Carsten Hölscher »

Was genau ist der Hintergrund? Wenn die dll nicht arbeitet, kommen ja keine Berechnugsaufrufe.

Carsten

Benutzeravatar
JuRa
Beiträge: 271
Registriert: 27.02.2018 09:04:33
Aktuelle Projekte: Stecke Plockhorst - Peine
Objekte Epoche III
Wohnort: Edemissen
Kontaktdaten:

Re: Fahrpult-dll's funktionieren nicht mehr nach Update auf Sim 3.5.6.8

#11 Beitrag von JuRa »

Bin mal bei gegangen und habe meine dll noch mal genau unter die Lupe genommen:
Carsten Hölscher hat geschrieben: 04.01.2024 22:50:34 Wenn die dll nicht arbeitet, kommen ja keine Berechnugsaufrufe.
Die Methode "Berechnen" wird ausgeführt. Da jedoch viele Anfangs- (Grundwerte) in meiner dll dort gesetzt werden, fehlen diese und es kommt hinten nichts raus. Also streng genommen "arbeitet" sie doch.
Carsten Hölscher hat geschrieben: 03.01.2024 23:13:33 Eigentlich ist das nur gedacht, den Ausgangszustand wieder herzustellen. Als Initialisierung war es nicht vorgesehen.
Wenn das so ist, dann ist das Programm schon immer "falsch" gewesen, hatte aber bisher funktioniert.
F. Schn. hat geschrieben: 04.01.2024 18:48:15 Auch bei "Anderen Zug übernehmen" und auch bei "Fahrplan neu starten" müsste eigentlich immer "Grundzustand()" kommen.
Beim Zugwechsel hatte ich wohl doch in die Trickkiste gegriffen und die Methode "Grundstellung" eigenmächtig noch mal aufgerufen :-)
F. Schn. hat geschrieben: 03.01.2024 23:34:09 An welcher Stelle versucht denn Zusi, den Ausgangszustand wieder herzustellen? Nehmen wir mal an, ich mache eine Fahrt, beende diese, und fahre anschließend mit "Fahrplan neu starten" eine andere Fahrt. Dann brauche ich in diesem Fall ja sehr wohl "Grundzustand()"?
Davon bin ich auch immer ausgegangen.

Jürgen

Benutzeravatar
F. Schn.
Beiträge: 6698
Registriert: 24.10.2011 18:58:26

Re: Fahrpult-dll's funktionieren nicht mehr nach Update auf Sim 3.5.6.8

#12 Beitrag von F. Schn. »

Carsten Hölscher hat geschrieben: 04.01.2024 22:50:34 Was genau ist der Hintergrund? Wenn die dll nicht arbeitet, kommen ja keine Berechnugsaufrufe.
Die Frage ist die: Wozu denkst du, dass ein DLL-Entwickler oder ein Fahrpult-Bauer die Methode "Grundzustand()" verwenden kann?

In meinen Augen immer dann, wenn das Fahrpult alles neu senden muss. Also wenn jemand den Fahrschalter im echten Fahrpult nicht verändert hat, aber Zusi hat ihn in den "Grundzustand" zurückgesetzt.
Und all das habe ich nicht nur beim An- und Ausschalten des Autopilots, sondern auch, wenn man "Anderen Zug übernehmen" macht oder "Fahrplan neu starten" oder eine Zugwende macht oder eine ganze Reihe an ähnlichen Dingen.

Und all diese Fälle von Hand zu erfassen, ist ein wahnsinniger Aufwand. Wäre es dann nicht besser, "Grundzustand()" doch als Init-Methode aufzubauen?

Oder was ist denn deine Idee, wann ein Fahrpult-Bauer "Grundzustand()" benutzen könnte?

Ich und JuRa haben "Grundzustand()" in unseren Programmen jedenfalls als Init-Methode verwendet, und das ist der Grund, weswegen es jetzt nicht mehr geht.
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat

Benutzeravatar
Carsten Hölscher
Administrator
Beiträge: 33450
Registriert: 04.07.2002 00:14:42
Wohnort: Braunschweig
Kontaktdaten:

Re: Fahrpult-dll's funktionieren nicht mehr nach Update auf Sim 3.5.6.8

#13 Beitrag von Carsten Hölscher »

Der Grundzustand ist dafür da, alle Systeme wieder in Grundstellung zu bringen. Darum fährt ein Zug meistens nach irgendwelchen zusammengefahrenen Störungen wieder, wenn man einmal Autopilot an und aus macht. Dabei wird nämlich an alle Komponenten das Kommando "Grundzustand" geschickt. NAch dem Laden der dll sollte der Grundzustand ja sowieso gegeben sein, weshalb man ihn nicht extra aufrufen müsste.

Carsten

Benutzeravatar
F. Schn.
Beiträge: 6698
Registriert: 24.10.2011 18:58:26

Re: Fahrpult-dll's funktionieren nicht mehr nach Update auf Sim 3.5.6.8

#14 Beitrag von F. Schn. »

Okay. Das heißt, die Funktion "Grundzustand" kommt direkt von den Baugruppen, die selbst eine Funktion "Grundzustand" haben, ist das Richtig?

In dem Fall verstehe ich, was passiert ist. Aber: Bei einer Fahrzeugbaugruppe ist es durchaus richtig, dass nach dem Erstellen der Baugruppe der Grundzustand ja sowieso gegeben ist.
Bei einer Fahrpult-DLL ist das aber nicht der Fall: Die Fahrpult-DLL kann bevor sie meinen Zug übernommen hat, schon einmal einen anderen Zug übernommen haben. Und das kann sowohl dann passieren, wenn man mit "Abbrechen" ins Menü geht (und dort ggf. einen neuen Fahrplan läd), oder wenn man ohne Abbrechen zu drücken auf Fahrplan neu Laden drückt, oder wenn man über das Menü "Anderen Zug übernehmen" einen anderen Zug übernimmt.
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat

Benutzeravatar
Johannes
Beiträge: 3203
Registriert: 14.03.2009 22:36:06
Aktuelle Projekte: Zusitools (http://git.io/zusitools)

Re: Fahrpult-dll's funktionieren nicht mehr nach Update auf Sim 3.5.6.8

#15 Beitrag von Johannes »

Ich kann der Diskussion grade nicht ganz folgen, weil ich in "fahrzeugdll_demo1.za7" nichts zum Thema "Grundzustand()" finde. Was hab ich verpasst?

In den genannten Fällen würde aber doch über "VarianteAktivieren" eine neue Antriebs-Instanz erstellt, oder?

Benutzeravatar
F. Schn.
Beiträge: 6698
Registriert: 24.10.2011 18:58:26

Re: Fahrpult-dll's funktionieren nicht mehr nach Update auf Sim 3.5.6.8

#16 Beitrag von F. Schn. »

Falsche DLL. Geht um Fahrpult, nicht um Fahrzeug.
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat

Benutzeravatar
Carsten Hölscher
Administrator
Beiträge: 33450
Registriert: 04.07.2002 00:14:42
Wohnort: Braunschweig
Kontaktdaten:

Re: Fahrpult-dll's funktionieren nicht mehr nach Update auf Sim 3.5.6.8

#17 Beitrag von Carsten Hölscher »

Danke für die gute Frage. Ich war gedanklich bei "Dampflok" bei der Fahrzeug-dll. Intern hab ich bei den Fahrzeugen nämlich auch eine Grundstellung (s.o.), die ist ja aber noch gar nicht in die dll rausgeführt, das dürfte noch sinnvoll/nötig sein.

Also bei der Fahrpult-dll wird Grundstellung aufgerufen, wenn man in den Führerstand wechselt. Bei meinen Fahrpult-dlls bringe ich dann alle Werte in den Ausgangszustand, damit der Führerstand einen definierten Übernahmezustand hat.

Carsten

Benutzeravatar
F. Schn.
Beiträge: 6698
Registriert: 24.10.2011 18:58:26

Re: Fahrpult-dll's funktionieren nicht mehr nach Update auf Sim 3.5.6.8

#18 Beitrag von F. Schn. »

Ah. :)
Carsten Hölscher hat geschrieben: 13.01.2024 16:36:57 Also bei der Fahrpult-dll wird Grundstellung aufgerufen, wenn man in den Führerstand wechselt.
Kannst du das noch mal prüfen? Beispiel: Streckenbaututorial N -> Wird nicht aufgerufen -> Fahrplan neu starten -> wieder N -> Wird wieder nicht aufgerufen.
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat

Antworten