IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Gestion d'exception non déclenchée


Sujet :

Delphi

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2003
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 146
    Par défaut Gestion d'exception non déclenchée
    Il y a quelques temps, suite à un post que j'ai fait sur ce forum, Sub0 m'a suggéré d'insérer un Try/Exceptdans mon code afin de gérer d'éventuelles erreurs lors de l'affichage de mes images. J'ai effectué quelques test mais je dois faire une erreur quelque part car la procédure appelée, ne s'exécute pas. J'ai renommé un fichier .txt en .bmp pour faire le test pour voir si l'exception était provoqué et géré.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TForm1.Button1Click(Sender: TObject);
      begin
        try
          if not OpenPictureDialog1.Execute then exit;
          Image1.Picture.LoadFromFile(OpenPictureDialog1.filename);
        except
          on EInvalidGraphic do VérifieErreur;
        end;
      end;
    Je met un showmessage à l'entrée de VérifieErreur mais mon programme plante avant de le lire avec le message d'erreur suivant: ''Project1.exe'' a provoqué une classe d'exception EinvalidGraphic avec le message IMAGE BITMAP INCORRECT.....

    Y a t'il quelqu'un qui peut m'aider à comprendre

    Merci

    Duan

  2. #2
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 142
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 142
    Par défaut
    Salut !

    Si si, ça fonctionne très bien, mais pas dans l'IDE (testé) !

    Autre chose : mon Delphi pas content du tout avec
    VérifieErreur
    Avec VerifieErreur ça va beaucoup mieux.

    Mes 2 cts,
    --
    jp

    PS : ça sera plus joli comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      begin
        if not OpenPictureDialog1.Execute then exit;
        try
          ...

  3. #3
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 937
    Billets dans le blog
    6
    Par défaut
    si tu veux donner dans le joli...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TForm1.Button1Click(Sender: TObject);
      begin
          if OpenPictureDialog1.Execute then 
          try
              Image1.Picture.LoadFromFile(OpenPictureDialog1.filename);
          except
              on EInvalidGraphic do VerifieErreur;
          end;
      end;
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Par défaut
    Bonjour,

    Effectivement, comme dit Jipété, dans l'IDE, Delphi affiche un message d'erreur sur les exceptions. Si tu testes ton prog hors de l'IDE, ça fonctionnera comme tu le veux.
    Maintenant, il est possible de désactiver l'arrêt sur les exceptions dans l'IDE en décochant la case 'Arrêter sur exceptions Delphi' dans l'onglet 'Exceptions du langage' des options du débogueur (menu Outils/Options du débogueur).
    Eb.

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2003
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 146
    Par défaut
    Merci beaucoup, simple mais fallait le savoir (je saurai). J'ai retourné ce code pendant 2 soirées en vain en retournant dans Aide,Faq, Recherche ect.

    Pour Jipété, excuse moi, j'avais tout simplement recopié la partie principale du code dans un nouveau projet afin de faire un copier/coller plus net sans lignes inutiles et j'ai mis le é par inadverdance. Mon delphi n'aime pas non plus...

    Par ici, on dirait que ce soir, je vais me coucher moins ''niaiseux''.



    Merci à tous, vos suggestions sont grandement appréciées.

    Duan

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 02/08/2011, 21h35
  2. Gestion des exception (EOleException)
    Par shurized dans le forum Bases de données
    Réponses: 5
    Dernier message: 30/06/2004, 17h25
  3. [C#] Gestion d'exception
    Par ALCINA dans le forum Windows Forms
    Réponses: 4
    Dernier message: 18/05/2004, 12h18
  4. [XMLRAD] gestion des exceptions
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 28/01/2003, 17h48
  5. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo