String(MyWideString) macht keinen schnöden TypeCast ... es lebe die Compilermagic
der WideString wird in einen (
Ansi)String umgewandelt ... ergo, es gibt keine Unicodeinformationen mehr.
Lösung: versuch's mal mit PChar/PAnsiChar und PWideChar
oder wie wär's mit UTF8?
Delphi-Quellcode:
DoSomething(MyAnsiString);
DoSomething(UTF8Encode(MyWideString));
procedure DoSomething(Text: String);
var S: WideString;
begin
S := UTF8Decode(Text);
if (Text <> '') and (S <> '') then begin
// WideString in S
end else begin
// AnsiString in Text
end;
end;
[edit] falschen Dateiangang ersetzt
Ein Therapeut entspricht 1024 Gigapeut.