Forum: Programmieren allgemein
by himitsu,
16. Mär 2021
Es kann auch sein, dass es am Windows liegt.
Ein Programm, was sonst läuft, schlägt in der englischen Windows-Sandbox fehl, weil TFile.WriteAllText keine ä speichern kann und abraucht.
Also sonst war es so, dass scheinbar alle CharError "ignoriert" werden, aber hier knallt es ebenfalls.
Forum: Programmieren allgemein
by himitsu,
4. Mär 2021
Das liegt am WC_ERR_INVALID_CHARS im WideCharToMultiByte.
Dann kommt bei "unpassenden" Chars der Fehler ERROR_NO_UNICODE_TRANSLATION (GetLastError) aka "no mapping for ...".
z.B. 无效的 und das dann in einer deutschen Codepage speichern wollen (AnsiString)
oder "ä" in einer russischen Codepage.
Delphi verwendet meistens WC_DEFAULTCHAR, wo solche Zeichen in ein ? konvertiert werden,
aber der...