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

Oeil_de_lynx Messages postés 4 Date d'inscription dimanche 10 mai 2015 Statut Membre Dernière intervention 27 juin 2015 - 27 juin 2015 à 14:26
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 - 30 juin 2015 à 00:38
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

sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
29 juin 2015 à 15:52
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;

0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
30 juin 2015 à 00:38
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 ?
0
Rejoignez-nous