unit PMA.Theme; { Thème sombre, chargé depuis une ressource embarquée. POURQUOI UNE RESSOURCE ET NON UN FICHIER : le mecanisme de deploiement de ce projet ne pose aucun fichier a cote de l'application - c'est le meme trou qui oblige a mettre en place le manifeste et les .dex a la main. Une ressource liee dans le .so ne depend de rien : elle est la ou n'est pas, et elle est la. Le style vient de Dark.style, livre avec Delphi, recopie dans le depot pour que la compilation ne dependre pas d'un chemin d'installation. Un echec ici n'est jamais fatal : sans style, l'application garde l'apparence par defaut. Elle est laide, elle fonctionne. } interface /// A appeler une fois, avant la creation de la forme. procedure ApplyDarkTheme; implementation uses System.SysUtils, System.Types, System.Classes, FMX.Styles, FMX.Types; {$R 'theme\theme.res' 'theme\theme.rc'} procedure ApplyDarkTheme; var LStyle: TFmxObject; begin try // La lecture appartient a TStyleStreaming, l'application a TStyleManager. LStyle := TStyleStreaming.LoadFromResource(HInstance, 'PMDARKSTYLE', RT_RCDATA); if LStyle <> nil then TStyleManager.SetStyle(LStyle); except // Rien : l'apparence par defaut reste utilisable. end; end; end.