Violation d'accès au changement de style de l'application

Signaler
Messages postés
4
Date d'inscription
dimanche 10 mai 2015
Statut
Membre
Dernière intervention
27 juin 2015
-
Messages postés
3826
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
10 mai 2021
-
Bonjour à tous,

Lors du changement de style de mon application via une sélection dans un combobox et la validation par un TBitBtn, j'obtiens l'erreur suivante :
"Violation d'accès à l'adresse 005FA857 dans le module "FindPic.exe" lecture de l'adresse 00000010".

Le code utilisé est le suivant :

uses
Windows, Messages, SysUtils, Variants, Classes, Menus, IBDatabase, DB, IBCustomDataSet, IBQuery, jpeg,
ExtCtrls, ComCtrls, clipbrd, XPStyleActnCtrls,
ActnList, ActnMan, ShellAPI, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons, Vcl.Themes,
IdGlobal, IdHash, IdHashMessageDigest;

private
{ Private declarations }
public
{ Public declarations }
fdefaultStyleName:String;
end;

procedure TForm1.ValiderClick(Sender: TObject);
begin
if Assigned(TStyleManager.ActiveStyle) then
begin
TStyleManager.TrySetStyle(ChoixTheme.Text);
end
else
begin
TStyleManager.TrySetStyle(fdefaultStyleName);
end;
end;


A la suite de cette erreur, le thème graphique de l'application est bien modifié, la violation d'accès n'est pas bloquante, mais seulement pas très jolie.
Je n'arrive pas à trouver d'où cela peut provenir. L'un d'entre-vous aurait-il une idée, ou saurait-il comment pouvoir diagnostiquer les violations d'accès et les corriger ?

Vous remerciant par avance pour votre réponse.

Josh'

2 réponses

Messages postés
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
13
Salut,

Essaie d'attraper l'exception, ça te donnera une info de plus...

procedure TForm1.ValiderClick(Sender: TObject);
begin
     try
        if Assigned(TStyleManager.ActiveStyle) then
        begin
            TStyleManager.TrySetStyle(ChoixTheme.Text);
        end
        else
        begin
            TStyleManager.TrySetStyle(fdefaultStyleName);
        end;
     Except
        On e : Exception do ShowMessage(e.Message);
     end;
end;

Messages postés
3826
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
10 mai 2021
46
Salut,
"Violation d'accès à l'adresse 005FA857 dans le module "FindPic.exe
déjà le code ne semble pas être complet ...
ensuite est ce que c'est toi qui en déduis la position de l'erreur ou est ce que la position de l'erreur est donnée par le débogueur ou est ce que ça correspond à l'adresse du message d'erreur ?