Hallo Thomas,
das was Du machst ist völlig falsch.
Die einzelnen Zeichen (z.B. € = $80) können in der Unicodedarstellung komplett ander Codierung haben (€ = $20AC).
Delphi erledigt das - wenn es um Zeichen der aktuellen Codepage geht - völlig automatisch:
Delphi-Quellcode:
var
str: String;
wStr: WideString;
begin
str := 'Hallo öäü €';
wStr := str
end;
Willst Du nun einen Verzeichnisnamen in der
Unicode-Darstellung haben, so mußt Du die entsprechenden
Win32-
API-Befehle in der
Unicode-Repräsentation aufrufen (Im TNT-Projekt sind liegen z.B. TOpenDialog in einer
Unicode-Version vor).
Hat nun ein russischer User auf einem russischen (kyrilischen) Windows dein Delphi-Programm, so ist dein Programm ohne weiteres fähig mit Verzeichnissen umzugehen, welche kyrilische Zeichen enthält (jedenfalls die 128 gebräuchlichsten), da an stelle unserer Sonderzeichen (€ - ÿ) die russischen Zeichen in den 8-Bit-Charatersatz eingeblendet sind. Dafür kann er nichts mit unseren Umlauten üöä anfangen.
Schau dir mal das
TNT-Projekt und das
Elpack an. Diese beschäftigen sich mit
Unicode + Delphi. In der Ausgabe
5.2003 der Zeitschrift "Der Entwickler" habe ich auch einen Artikel zum Thema Delphi+
Unicode geschrieben.
Windows Vista - Eine neue Erfahrung in Fehlern.