Bug? Run-Time error 13 - Type mismatch WDP 2015.1b
 

Bug? Run-Time error 13 - Type mismatch WDP 2015.1b

Begonnen von Fabian Herzog, 30. Oktober 2016, 16:42:32

Vorheriges Thema - Nächstes Thema

Fabian Herzog

Hallo Zusammen,

Ich schreibe diesen riesigen Text damit jemand mit dem gleichen Problem nicht so viel Zeit verliert wie ich dieses Wochenende. Zudem würde ich mich freuen, wenn ich ein Feedback oder Kommentar von einem Entwickler zu diesem Programm-verhalten bekommen würde.

Mein Projekt stammt aus Digipet-2009-Zeiten. Jetzt haben wir kürzlich unseren Steuerungs-PC ersetzt mit Windows 10 und dem damals neuen Digipet 2015 (genaue Version habe ich leider nicht im Kopf).
Neulich habe ich den Installations-Stick von Digipet und das exportierte Projekt mit nachhause genommen um etwas weiter daran zu arbeiten. Das Win-Digipet habe ich installiert und gleich auf die neueste Version 2015.1b aktualisiert (sprich das ist neuer als die auf unserem Steuerungs-PC), dann mein Anlage-Projekt importiert und versucht es zu starten (Anlageversion und Büroversion).
Bei beidem erscheint die Fehlermeldung "Run-Time error 13: Type mismatch" und das Programm schliesst sich.
Dann habe ich ge-googelt usw, aber ich konnte es nicht lösen.
Jetzt habe ich endlich die Ursache des Problems gefunden!

Ich habe festgestellt, dass es nicht auftritt, wenn ich die Datei Projekt.xml im Projekt-Ordner meiner Anlage lösche. Dann habe ich das XML kontrolliert, aber die Syntax ist korrekt... so weit so gut. Nun habe ich einzelne <Group>-Blöcke gelöscht bis ich den Übeltäter gefunden habe, es liegt an der Gruppe <Group Name="WDIGIPET">. Nun habe ich mir die einzelnen Parameter in dieser Gruppe angesehen und habe begonnen auch diese zu löschen um zu sehen, ob es ein spezifischer ist. Tatsächlich konnte ich das Programm ohne Fehler starten, wenn ich den Eintrag <Parameter Name="Version91">Wahr</Parameter> lösche. Nun gut, jetzt habe ich mir noch die gleiche XML im Beispielprojekt angesehen und siehe da, dort steht beim gleichen Parameter nicht "Wahr", sondern "1". Also habe ich bei meinem XML das "Wahr" durch die "1" ersetzt und das Programm startet ohne Probleme.

Das scheint ein Überbleibsel von früher zu sein, aber warum das erst jetzt zu Problemen führte verstehe ich nicht oder warum das nicht abgefangen wird.

Besten dank und schöne Grüsse,
Fabian
  • Win-Digipet-Version:
    WDP 2018 Premium
  • Anlagenkonfiguration:
    7x5m in E-Form; AC H0 (SBB/BLS) und kleiner Teil DC H0m (RhB); Peco Code 100 mit selbstgebautem Mittelleiter, Bemo für H0m; Zentralen: DiCoStation / Digital-S-Inside, IntelliBox II; Protokolle: mfx, dcc, mm; Booster: LdT DB-4; Rückmeldung: LdT RM-88-N-O; Weichen: Servos mit ESU SwitchPilot Servo + Extension; Signale: Mafen/Portigliatti/Microscale, Steuerung mit Qdecoder; SBB/BLS 3 Bahnhöfe und 3 Schattenbahnhöfe, 69 Weichen; RhB 2 Bahnhöfe und 1 Schattenbahnhof, 22 Weichen
  • Rechnerkonfiguration:
    ASUS B150M-Plus D3, Intel Core I3-6100, Samsung 850 EVO Basic, 8GB Kingston Value RAM, Palit GTX 750 TI KalmX,

Markus Herzog

Hallo Fabian

Zitat von: fnherzog in 30. Oktober 2016, 16:42:32
Das scheint ein Überbleibsel von früher zu sein, aber warum das erst jetzt zu Problemen führte verstehe ich nicht
Ist der Rechner auf dem der LZF auftrat eventuell mit keinem deutschen Windows ausgestattet, sondern englisch oder so? Denn das hatten wir früher nur Probleme wenn z.B. auf einem deutschen Rechner das Projekt gespeichert wurde und ein französischer Rechner dann ein "Vraix" und ein englischer "True" erwartet hat. Blieb man immer innerhalb einer Sprache gab das keine Probleme und ging daher über viele viele Jahre gut.
Uns selber ging es aber immer auf den Geist das Windows Wahr/Falsch als Text abgespeichert hat statt 0/1, denn wir hatten dann immer Probleme mit Projekten aus dem Ausland. Also wird neu immer mit 0/1 gespeichert und Altdaten sind keinerlei Problem solange man im selben Land bleibt. Beim nächsten Speichern der jeweiligen Option behebt  es sich von selber.

Zitat von: fnherzog in 30. Oktober 2016, 16:42:32
oder warum das nicht abgefangen wird.
Überall wo es mal untergekommen ist/aufgefallen ist, wurde es auch abgefangen. Aber beim mehreren hundertausend Zeilen Code....

Grüße
Markus
  • Win-Digipet-Version:
    WDP 2025.x Beta
  • Anlagenkonfiguration:
    3-Leiter Anlage, Rollendes Material Märklin/Roco/Brawa/Mehano, Fahren: DCC, m3 via Tams MC, Schalten/Melden: Selectrix, BiDiB, Motorola (nur wenige Sonderaufgaben)
  • Rechnerkonfiguration:
    Intel i7

Fabian Herzog

Hoi Markus,

ZitatIst der Rechner auf dem der LZF auftrat eventuell mit keinem deutschen Windows ausgestattet
Das ist tatsächlich so! Der Steuerungs-PC hat ein Deutsches OS und mein Tablet auf dem der Fehler auftrat ist Englisch. Durch den Parameter-Namen habe ich nicht an sowas gedacht. "Vraix", "True", "Wahr" und 0/1, das sind die Tücken von Windows die wir kennen und lieben hahaha, das ist ja wirklich genial.

ZitatAber beim mehreren hundertausend Zeilen Code....
Ja, das leuchtet natürlich ein, ist bestimmt ein riesen-Aufwand und mit der 0/1 Variante geht das sicher am besten.

Vielen Dank für deine Ausführungen, ist ein super Forum!

Beste Grüsse,
Fabian
  • Win-Digipet-Version:
    WDP 2018 Premium
  • Anlagenkonfiguration:
    7x5m in E-Form; AC H0 (SBB/BLS) und kleiner Teil DC H0m (RhB); Peco Code 100 mit selbstgebautem Mittelleiter, Bemo für H0m; Zentralen: DiCoStation / Digital-S-Inside, IntelliBox II; Protokolle: mfx, dcc, mm; Booster: LdT DB-4; Rückmeldung: LdT RM-88-N-O; Weichen: Servos mit ESU SwitchPilot Servo + Extension; Signale: Mafen/Portigliatti/Microscale, Steuerung mit Qdecoder; SBB/BLS 3 Bahnhöfe und 3 Schattenbahnhöfe, 69 Weichen; RhB 2 Bahnhöfe und 1 Schattenbahnhof, 22 Weichen
  • Rechnerkonfiguration:
    ASUS B150M-Plus D3, Intel Core I3-6100, Samsung 850 EVO Basic, 8GB Kingston Value RAM, Palit GTX 750 TI KalmX,