Dieses Programm reproduziert den von Ihnen gemeldeten Fehler:
%Vor% Hier habe ich die Originaldatei als ANSI geschrieben. Und dann AppendAllText
aufgerufen, die versuchen werden, als UTF-8 zu schreiben. Was passiert, ist, dass wir in dieser Funktion enden:
Der Fehler stammt von dieser Zeile:
%Vor% Das Problem ist, dass UTFStr
tatsächlich nicht gültig ist UTF-8
. Und daher löst TEncoding.UTF8.GetString(UTFStr)
eine Ausnahme aus.
Dies ist ein Fehler in TFile.AppendAllBytes
. Da es sehr gut weiß, dass UTFStr
ANSI
codiert ist, macht es überhaupt keinen Sinn, TEncoding.UTF8.GetString
aufzurufen.
Sie sollten einen Fehlerbericht an Embarcadero für diesen Defekt senden, der in Delphi 10 Seattle noch vorhanden ist. In der Zwischenzeit sollten Sie TFile.AppendAllBytes
nicht verwenden.
Tags und Links delphi unicode delphi-xe7