Buenas tardes, tengo un problema, me descargue unos skins para mi aplicación y ya los registré pero al volver a correr la aplicación, me manda un mensaje de error " no encontró el skin -nombre del skin-;
otra cosa, lo registro desde archivo, y pensé que con eso en la apariencia ya quedaria insertado el nuevo skin, pero me di cuenta de que no, de que solo vienen lo q venian por default con el xe2...
bien aqui dejo el codigo
con este procedimiento registro el skin
Código Delphi
[-] procedure RegisterStyleFromDisk(const StyleFileName: string);
begin
if TStyleManager.IsValidStyle(StyleFileName) then
TStyleManager.LoadFromFile(StyleFileName);
end;
Código Delphi
[-]
una ves que lo registro lo mando llamar y si me cambia el estilo pero no me lo esta incrustando :S
procedure TFrmStylo.Button1Click(Sender: TObject);
var
fdefaultStyleName:String;
begin
RegisterStyleFromDisk('C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\Redist\styles\vcl\BlueGraphite.vsf');
TStyleManager.SetStyle('Blue Graphite');
TStyleManager.SetStyle(TStyleManager.LoadFromFile('C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\Redist\styles\vcl\BlueGraphite.vsf'));
Código Delphi
[-]
cuando cierro la forma, guardo el skin
procedure TFrmStylo.FormClose(Sender: TObject; var Action: TCloseAction);
var
iniarchivo: tinifile;
con_fig:string;
begin
con_fig:= ListBox1.Items[ListBox1.ItemIndex];
iniarchivo := TIniFile.Create(ExtractFilePath(Application.ExeName) +'skin.ini');
with iniarchivo do begin
WriteString('PARAMETRIZACION','nombre',con_fig);
end;
Action:=Cafree;
FrmStylo:=nil;
end;
aqui lo mando llamar la siguiente ves que corro mi aplicacion
Código Delphi
[-]
var
iniarchivo: tinifile;
con_fig,archivo:string;
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
iniarchivo := TIniFile.Create(ExtractFilePath(Application.ExeName) +'skin.ini');
archivo:=iniarchivo.FileName;
with iniarchivo do begin
con_fig:=ReadString('PARAMETRIZACION','nombre','');
end;
if FileExists(archivo) then
TStyleManager.TrySetStyle(''+con_fig+'')
else
TStyleManager.TrySetStyle('Cobalt XEMedia');
Application.CreateForm(TDmmant, Dmmant);
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TFrmpasword, Frmpasword);
Application.Run;
end.
bien cuando lo mando llamar me aparece que no encuentra en este caso el "Blue Graphite", alguna sugerencia de que es lo que me esta faltando?
el mensaje de error que me manda dice:
Style 'Blue Graphite' not found