问题 Delphi vcl setstyle 错误

问题描述 投票:0回答:1

我正在编写Delphi 10.1。错误 TrySetStyle

Uses vcl.themes;

procedure TForm1.IcebergClassico1Click(Sender: TObject);
begin
TStyleManager.TrySetStyle('Iceberg Classico');
end;

procedure TForm1.LavenderClassico1Click(Sender: TObject);
begin
TStyleManager.TrySetStyle('Lavender Classico');
end;

procedure TForm1.Light1Click(Sender: TObject);
begin
TStyleManager.TrySetStyle('Light');
end;

procedure TForm1.Luna1Click(Sender: TObject);
begin
TStyleManager.TrySetStyle('Luna');
end;

错误: Access violation at adress 0063E1D9 in *.exe. Read of address 00000000.


项目->选项->应用 选中启用运行时主题 选中启用高 DPI 项目->选项->应用程序->外观

已检查主题

没有帮助

TStyleManager.TrySetStyle('Luna',false);

delphi themes vcl delphi-10.1-berlin
1个回答
0
投票
   { Private declarations }
  public
      Tema: TIniFile;
    { Public declarations }
  end;
var
  frmTemas: TfrmTemas;
implementation

    enter code here

{$R *.dfm}

procedure TfrmTemas.btnStyleClick(Sender: TObject);
begin
   Tema.WriteString('style','value',cbListStyles.Text);  ///Escribir el valor seleccionado en el cmbb en la sesión
   TStyleManager.TrySetStyle(Tema.ReadString('style','value','Windows'));  //Leer ultimo tema y aplicar el  valor que tiene la sesión
end;

procedure TfrmTemas.FormCreate(Sender: TObject);
begin
  var
  estilo: string;
begin
   for  estilo in  TStyleManager.StyleNames  do
        cbListStyles.Items.Add(estilo);    //Agregar todos los estilos al ComboBox
   Tema:= TIniFile.Create(GetCurrentDir+'\tools.ini');  //Creo el archivo .ini
   TStyleManager.TrySetStyle(Tema.ReadString('style','value','Windows'));  //Leer ultimo tema y aplicar el  valor que tiene la sesión
end;
end;
© www.soinside.com 2019 - 2024. All rights reserved.