Hola, vengo a dejarles la solución que aplique para este problema, por si a alguien más en un futuro le sirve.
Básicamente, lo que hace este código es buscar en donde se encuentran los temas/skins el registro del último skin aplicado a la aplicación, lo jala y lo aplica.
Código Delphi
[-]
StyleServices.OnThemeChange:=OnThemeChange;
SearchDir := 'Direccion del folder' + PathDelim;
if DirectoryExists(SearchDir) then begin
if FindFirst(SearchDir+'*.*',
faAnyFile - faDirectory,
searchResults) = 0 then
repeat
try
if TStyleManager.IsValidStyle(
SearchDir+searchResults.Name) then
TStyleManager.LoadFromFile(
SearchDir+searchResults.Name);
except
OutputDebugString('Not valid style file');
end;
until FindNext(searchResults) <> 0;
end else
OutputDebugString('Theme`s folder does not exist');
SLStyles := TStringList.Create;
try
SLStyles.Duplicates := TDuplicates.dupIgnore;
for Style in TStyleManager.StyleNames do
SLStyles.Add(Style);
SLStyles.Sort;
R:=TRegistry.Create;
try
if R.OpenKey(PrgKey,false) then
begin
try
S:=R.ReadString('ThemeStyle');
TStyleManager.TrySetStyle(S,false);
except
end;
end;
finally
FreeAndNil(R);
end;
finally
SLStyles.Free;
end;