Hi zusammen,
ich habe heute Stunden vergebens verbracht, einen Fehler zu suchen, der beim Auslesen von Binärdateien auftritt.
Das Projekt ist zu umfangreich, um es anzuhängen und beim Versuch, nur den relevanten Code zu extrahieren, funktionierte (leider) alles.
Ich schreibe einen Cluster über "Binärdatei schreiben" in eine Binärdatei (Windows-PC). Auf einem RT-Target lese ich das ganze über "Binärdatei lesen" wieder aus.
Das Ganze klappt leider nicht richtig.
Manche Werte werden korrekt ausgelesen, manche komplett falsch und ich weiß nicht mal ansatzweise, wonach ich suchen soll.
Eine geschriebene 1, wird z.T. etwas wie 1,22434E-385 (die genaue Zahl weiß ich nicht mehr, aber der Exponent stimmt glaub).
Eine 1,234 im Cluster (mehrere numerische Felder) war z.T. eine 1,234, aber in anderen Feldern eine 1072938614 oder -1,76176E+42.
Das ist echt frustrierend.
Habt ihr eine Idee, wo ich mit der Fehlersuche anfangen könnte?
Der Cluster ist eine strikte Typendefinition. Und mehr als den "popeligen" Code (lesen + schreiben) mache ich eigentlich nicht. Der Modus (z.B. Big Endian) ist auch überall der gleiche.
Wie kann es denn dazu kommen, dass die Werte so komisch interpretiert werden? Rundungsfehler, Überläufe o.ä. sind beim Schreiben/Lesen auszuschließen.
Schreibe ich die Binärdatei auf dem RT-System und versuche sie unter Windows zu lesen, kommt irgendein EOF-Fehler.
Hat jemand von euch eine Idee, was hier schief laufen könnte?
Lese ich die unter Windows geschriebene Datei unter Windows aus, ist dort alles ok.
Beide Anwendungen sind mit LV 2010 programmiert.
Grüße