Einzelnen Beitrag anzeigen

Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.605 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#22

AW: Ist das ein Fehler in dxGetText?

  Alt 3. Jan 2018, 13:40
Hi,

der Thread ist zwar schon "etwas" älter, aber:

Der Fehler liegt in der gnugettext.pas. Und zwar die letzte Zeile von
Delphi-Quellcode:
function TGnuGettextInstance.LoadResString(
  ResStringRec: PResStringRec): UnicodeString;
Warum steht da Result:=ResourceStringGettext(Result); ? ResourceStringGettext ist eine global herumschlabbernde Routine welche immer auf die globale DefaultInstance eines TGnuGettextInstance geht, sich also nicht darum kümmert, welche Sprache ich vorgegeben habe. Ich hätte mir meine Instanzen italian und spanish also gleich sparen könnnen.

Damit es so funktioniert wie es soll müsste die obige Zeile so ersetzt werden:

Delphi-Quellcode:
 Result:= //ResourceStringGettext(Result);
  gettext(Result);

Wer kann mir das ausreden?
Ich

Ich habe gerade die Änderung von damals rückgängig gemacht, da damit AddDomainForResourceString keine Auswirkungen mehr hatte.

Allerdings habe ich aus der globalen Function ResourceStringGettext eine Methode von TGnuGettextInstance gemacht, so dass jetzt beides funktioniert: Eigene Instanzen von TGnuGettextInstance für spezielle Sprachen und AddDomainForResourceString.

twm
Thomas Mueller
  Mit Zitat antworten Zitat