Basculement dynamique de DLL de ressources

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilisation des DLL de ressources


En plus de la localisation d'une DLL de ressource au démarrage de l'application, il est possible de basculer les DLLs de ressource dynamiquement à l'exécution.

Par exemple, le code suivant bascule la langue de l'interface en Français :

const
  FRENCH = (SUBLANG_FRENCH shl 10) or LANG_FRENCH;
if LoadNewResourceModule(FRENCH) <> 0 then
  ReinitializeForms;
const FRENCH = (SUBLANG_FRENCH << 10) | LANG_FRENCH;

if (LoadNewResourceModule(FRENCH))
    ReinitializeForms();


L'avantage de cette technique est que l’instance en cours de l'application et de toutes ses fiches sont utilisées. Il n'est pas nécessaire de mettre à jour les paramètres du registre et de redémarrer l'application ou de ré-acquérir les ressources nécessaires à l'application, comme la connexion aux serveurs de bases de données.

Lorsqu'il y a basculement de la DLL de ressource, les propriétés spécifiées dans la nouvelle DLL écrasent celles des instances en cours d'exécution des fiches.

Remarque : Toute modification effectuée dans les propriétés d'une fiche à l'exécution est perdue. Une fois que la nouvelle DLL est chargée, les valeurs par défaut ne sont pas réinitialisées. Evitez le code qui suppose que les objets fiche sont réinitialisés à leur état de démarrage, mise à part les différences dues à la localisation.

Voir aussi