Dann ist das wohl kein UTF-8 und somit ist es falsch diese Umwandlung vorzunehmen.
Und
UTF8Encode UTF8Decode gibt einfach einen Leerstring zurück, wenn es kein valides UTF-8 ist, während TEncodiung korrekt einen Fehler wirft.
Außerdem ist slist.Text ein UnicodeString und UTF8Encode an der Stelle sowas von sinnlos.
slist.Text ist
Unicode (slist.LoadFromFile hat UTF-8 bereits übersetzt, wenn das BOM vorhanden war), UTF8Encode wandelt es nach UTF-8 um, Delphi erkennt bei der Zuweisung, daß slist.Text ein UnicodeString ist und wandelt das UTF-8 vom UTF8Encode wieder nach
Unicode um ... es ändert sich also nichts.
Man bin ich doof.
Danke für die Erleuchtung.
Bei mir bekommt der Spruch: "Doppelt gemobbelt hält besser" eine ganz neue Bedeutung. Kein Wunder das es mit den .dfm Dateien nicht funktioniert. So langsam glaube ich das die Suche in .dfm Dateien soviel Sinn macht wie einer Kuh das Fahrrad fahren bei zu bringen.