Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#14

AW: Sprachdateien von Localizer (Korzh) in Exe einbinden

  Alt 14. Okt 2012, 15:21
Sorry für die lange Pause - ich war ein paar Tage im Urlaub.

Es gib zwei Ansätze in diesem Fall. Zum einen kannst du das Property DeleteUnusedLDll := true setzen, dann werden die Resource-DLLs immer wieder gelöscht. Alternativ kannst du auch SoftMode := true setzen, dann werden die DLLs gar nicht erst erzeugt. Allerdings musst du dann einen Haufen Kram selbst erledigen - die Hilfe gibt dazu ein paar Hinweise. Die ansonsten sehre einfache Verwendung des Localizers wird damit hinfällig.

Delphi holt sich bei jedem Laden eines Forms die Properties aus der aktuellen Resourcen-DLL. Legt man solche DLLs bei, braucht man überhaupt nichts im Programm einbinden und es läuft trotzdem. Viele Übersetzungstools gehen diesen Weg. Andere hängen sich in den Lademechanismus oder ins OnFormCreate und übersetzen die Properties dynamisch, müssen dafür aber beim Compilieren eingebunden werden.

Die LocOnFly-Lösung des Localizers verbindet beide Methoden: Es werden Resource-DLLs erzeugt, damit beim Laden gleich die richtigen Übersetzungen verwendet werden, und es gibt eine dynamische Umschaltung zur Laufzeit, die alle existierenden Forms verarbeitet. Da sich der Localizer aber nicht in das Form-Loading einklinkt, sind auch für das dynamische Umschalten die entsprechenden Resource-DLLs nötig.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat