Linux verwendet UTF8-Zeichencodierung. Das Byte 255 ist >127 und daher muss das zugehörigen Zeichen (CodePoint) mindestens ein weiteres Byte enthalten. Die Meldung von gtk bedeutet daher, dass du ein ungültiges UTF8-Zeichen ins Memo geschrieben hast.
Danke, für die Erklärung.
Nimm stattdessen die entsprechende Konvertierungsfunktion aus lconvencoding, z.B. CP1252ToUTF8(#255) (Windows) oder CP850ToUTF8(#255) (DOS).
Ich denke, auf dies kann ich verzichten.
Ich bin gerade daran, über I²C ein EEPROM zu beschreiben und auszulesen. Und dazu habe ich ein Memo für die Ausgabe verwendet. Ein neues EEPROM ist von Werk auf alles mit #255 beschrieben und somit sind diese Zeichen auch im Memo angekommen, das aber sofort mit einem Clear quintierte.
Ich habe gestern recht geübt, da, das Memo immer Leer war, wen ich zu viel Zeichen aus dem EEPROM ausleste. Da dachte ich zuerst, das der Fehler in der Lese-Routine lag.
So etwas leer sofort das Memo.
Code: Alles auswählen
Memo1.Text := 'Hello World';
Memo1.Text := Memo1.Text + #255;