![]() |
Re: ProjectLocalizer, MessageDlg Problem in Delphi2009
Doch. Ich arbeite noch mit dem BDS 2006 und bin mir nicht sicher, wann die Unicode Unterstützung dazu gekommen ist.
|
Re: ProjectLocalizer, MessageDlg Problem in Delphi2009
Delphi 2009 hat volle Unicode-Unterstützung. Die Komponenten können ebenfalls die entsprechenden Zeichen darstellen. Hatte damals Daniel in seinem Video hervorragend vorgeführt.
|
Re: ProjectLocalizer, MessageDlg Problem in Delphi2009
jupp, seit D2009 ist da soooo viel Unicode drinnen, daß es an manschen Stellen schonwieder zuviel ist :lol:
|
Re: ProjectLocalizer, MessageDlg Problem in Delphi2009
Habe mich heute nochmal ein bischen mit der dwsLocalizer Unit beschäftigt, um der Ursache etwas näher zu kommen und habe eine "Lösung" (wenn man es denn so nennen kann...) für das Übersetzen der Dialoge gefunden.
In der dwsLocalizer wird in procedure TdwsLocalizerInt.RegisterNew_LoadResString das Laden der System-Resourcen Strings (System.LoadResString) auf eine dwsLocalizer interne Funktion NewLoadResString umgebogen. Hierüber werden wohl alle nicht direkt Komponenten bezogene Strings laufen, die nicht über die Übersetzungsprozedur TranslateComponent abgewickelt werden. Die neue Prozedur NewLoadResString hat als Ergebnistyp AnsiString. Wenn diese nun auf Typ String abgeändert wird (String in D2009 = Unicode), funktioniert die Übersetzung der Dialoge (Caption, Message-Text, Button-Captions), soweit ich es jetzt getestet habe, fehlerfrei.
Delphi-Quellcode:
Ob mit dieser Änderung noch irgendwelche verborgenen Nebenwirkungen verbunden sind, weiss ich (noch) nicht. Bis jetzt sieht es jedoch zumindestens in der Programmoberfläche nicht danach aus.
// replaces the System.LoadResString method during run-time
// this function will access the loaded resource file for translated resource strings // if no translation is found, it will check the resources of the running application function NewLoadResString(ResStringRec: PResStringRec): String; //20091021-HH, vorher :AnsiString const MAX_ID = 65536; var Buffer: array [0..4096] of Char; ResHdl, GlobalHdl, Size, LibHdl: Cardinal; ResItem: PWideChar; Res: WideString; begin Gruss, Warp |
AW: ProjectLocalizer, MessageDlg Problem in Delphi2009
Liste der Anhänge anzeigen (Anzahl: 1)
Nutzt jemand noch die Funktionen?
Ich habe mein Programm nun von D2009 auf Seattle migriert. Was ich bis jetzt festgestellt habe, ist, das Message Dialoge nicht korrekt angezeigt werden. Es kommt immer ein "L" voran, siehe Anhang. Unter D2009 funktionierte das problemlos. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz