Hallo Zusammen!
Ich übertrage über die Socket MSG Funktion berechnete Koordinaten auf den Controller (R-30iB). Der Controller ist dabei der Server. Dort werden die Daten von einem KAREL Skript als eine einzelne ununterbrochene Zeichenkette empfangen. Das funktioniert auch wunderbar. Wenn ich allerdings die Länge des Strings (genauer genommen ist es ja eine byteweise Übertragung) vergrößere steigt der Controller irgendwann mit einer Statusmeldung 2051 (nicht initialisierte Variable "tmp_str") aus. Die einzulesenen Bytes frage ich vorher mit BYTES_AHEAD ab und lese sie auch bytegenau ein. Das Ergebnis von BYTES_AHEAD erhalte ich korrekt.
Der Witz ist allerdings, dass der Fehler im RoboGuide nicht auftritt. Dort funktioniert das ganze auch mit langen Strings wunderbar.
Die Stringlänge bei der der Controller aussteigt liegt irgendwo zw. 126 und 140 Zeichen.
Hatte jemand von Euch schon einmal dieses Problem und hat eine Lösung gefunden? Ich würde ungern die Übertragung in zwei Teile aufteilen müssen.
Hier noch ein Codeschnippsel in dem der Fehler auftritt:
WRITE('Reading...',CR)
BYTES_AHEAD(file_var, entry, status)
WRITE(' Bytes reading: ', entry, CR)
READ file_var (tmp_str::entry)
status = IO_STATUS(file_var)
WRITE(' file_var_status: ', status, CR)
WRITE(' Read: ', tmp_str, CR)
Die Ausgabe auf dem TP als Handybild...
Ich hoffe auf Eure Hilfe!
Grüße!
nico