Irgendwelche Sonder-/Steuerzeichen, die nur wie Leerzeichen aussehn oder nicht sichtbar sind?
Erstmal sollte man Fehler immer richtig behandeln und nicht irgendwelche sinnlose Texte rausgeben, denn "Error" sagt ja garnichts.
Delphi-Quellcode:
var Obj: TJSONValue;
try
Obj := TJsonObject.ParseJsonValue(Test.Text,
{UseBool: True oder False} False,
{RaiseExc: die Exception} True);
except
on E: EJSONParseException
do begin
ShowMessage('
JSON-Error in TestBtnClick: ' + E.
Message)
// oder E.Message := 'JSON-Error in TestBtnClick: ' + E.Message; Application.ShowException(E);
// oder E.Message := 'JSON-Error in TestBtnClick: ' + E.Message; System.SysUtils.ShowException(E, System.ExceptAddr);
// oder einfach nur "Raise;" , was hier im ButtonClick dann in Application.ShowException enden wird
// oder das Try-Except weglassen und direkt im Application.ShowException landen
// oder E.Line und E.Offset auswerten
// oder E.Position
// und eventuell auch noch E.Path, aber den Pfad kennst du hier ja schon
end;
end;
//ShowMessage('No Error');
Delphi-Quellcode:
ErrorText := Copy(Test.Text, E.Position, 15); // eventuell noch Low(Char) zur Position dazurechnen ... weiß nicht ob Position bei 1 oder 0 beginnt
// hier im ErrorText unlesbare Zeichen (z.B. kleiner ' ' oder größer #127) durch "Lesbares" ersetzen
E.Message := 'JSON-Error in TestBtnClick: ' E.Message + sLineBreak + sLineBreak + 'Fehlerstelle: »' + ErrorText + '«';
Application.ShowException(E);