Aktuell bin ich mal wieder dabei, den Fehler in meinem DFI-script zu finden. Eigentlich funktioniert alles wunderbar, allerdings erkennt das Script anscheinend das angegebene, interne Gleis nicht und zeigt deshalb die Abfahrten aller Gleise an. Theoretisch sollte das interne Gleis im Map-Editor in den Startvariablen eingegeben werden. In der Initialize-prozedur wird dieser String dann in eine lokale Variable rüberkopiert, welche wiederum in der StatPIS_Login verwendet wird.
Auf meiner Map ist im Reiter Stationen bei allen Gleisen unter der internen Bezeichnung '1' oder '2' angegeben, jedenfalls nur die Gleisnummer ohne weiteren Text. Doch selbst wenn ich, zu Testzwecken, in die StatPIS_Login direkt den String '1' eingebe, zeigt die DFI beide Gleise der jeweiligen Station.
Mittlerweile weiß ich eben selber schon nicht mehr weiter, aber irgendwas habe ich wahrscheinlich falsch verstanden.
Die entsprechenden Teile des Scripts:
- procedure ActualizeDepartures; // Fragt den Server nach aktueller Fahrplaninfo ab
- var
- MinLeft: single;
- begin
- StatPIS_Login(Self, StationName, Trackname); // Login auf Server
- // Server-kommunikation
- StatPIS_GenerateTempDataListWholeStation(Self, 0.042); // Generiert Liste aller Abfahrten der nächsten 60 Minuten
- StatPIS_SortTempList(Self, 0);
- Departure0 := StatPIS_GetTempListData(Self, 0); // Lädt die nächste Abfahrt auf lokale Variable
- Departure1 := StatPIS_GetTempListData(Self, 1); // Lädt die übernächste Abfahrt auf lokale Variable
- [...]
- end;
Hier noch ein Screenshot der Konfiguration aus dem Map-Editor