Eine Ressourcen-
DLL kann nicht nur beim Start einer Anwendung geladen werden, sondern es ist auch möglich, die verwendete Ressourcen-Datei zur Laufzeit zu wechseln. Wenn Sie Ihre Anwendung mit dieser Funktionalität versehen wollen, nehmen Sie in die uses-Anweisung die
Unit ReInit auf. (Diese
Unit befindet sich im Verzeichnis Demos im Richedit-Beispiel.) Um die verwendete Sprache zu wechseln, übergeben Sie in einem Aufruf von LoadResourceModule die LCID für die neue Sprache und rufen anschließend ReinitializeForms auf.
Mit den folgenden Anweisungen können Sie die Sprache der Benutzeroberfläche in Französisch ändern:
Delphi-Quellcode:
const
FRENCH = (SUBLANG_FRENCH shl 10) or LANG_FRENCH;
if LoadNewResourceModule(FRENCH) <> 0 then
ReinitializeForms;
Dieses Vorgehen hat den Vorteil, dass die aktuelle Instanz der Anwendung mit allen zugehörigen Formularen verwendet werden kann. Dabei ist weder eine Aktualisierung von Registrierungseinstellungen mit anschließendem Neustart der Anwendung noch die erneute Anforderung von benötigten Ressourcen (z.B. das Anmelden bei einem Datenbank-Server) erforderlich.
Bei einem Wechsel der Ressourcen-
DLL werden die Eigenschaftswerte in den laufenden Instanzen der Formulare durch die entsprechenden Eigenschaftswerte der neuen
DLL ersetzt.
Hinweis
Änderungen, die zur Laufzeit an den Formulareigenschaften vorgenommen wurden, gehen verloren. Nach dem Laden der neuen
DLL werden keine Standardwerte zurückgesetzt. Sie dürfen deshalb im Quelltext nie davon ausgehen, dass die Formularobjekte automatisch mit ihrem Anfangsstatus neu initialisiert werden.