Zitat von
sh17:
Zitat von
sh17:
Vielleicht langt es ja schon, wie bei TNTs InstallTntSystemUpdates die Delphi-Functionen zu patchen.
Hab es getestet, geht super.
Kannst du mir sagen, was du da genau gemacht hast, damit es geht? Ich hab genau das gleich Problem und dreh mich wegen Vista total im Kreis. CompareStringW scheint die angegebene Locale total zu ignorieren und bringt komplett andere Ergebnisse als unter =<XP. Hier mal dein Beispiel mit einer englischen Locale:
Delphi-Quellcode:
if (CompareStringW(MAKELCID(2057, 0), NORM_IGNORECASE, 'HÜBNER', Length('HÜBNER'), 'HUEBNER', Length('HUEBNER')) - 2) = 0 then
begin
ShowMessage('Fehler');
end;
Selbst wenn Vista unter einer deutschen Locale Umlaute erkennen kann, sollte das mit englischen Spracheinstellungen mit Sicherheit nicht so sein.
Die Unterschiede zwischen Vista und XP sind übrigens nicht auf deutsche Umlaute beschränkt. Bspw. wird chinesischer Text bei gleichen Einstellungen und gleicher Locale komplett anders sortiert.