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 :

Test d'un TImage


Sujet :

Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 57
    Points : 56
    Points
    56
    Par défaut Test d'un TImage
    Bonsoir,

    En cherchant sur le forum, j'ai trouvé une discussion traitant de ce sujet. Il est conseillé d'utiliser ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Image1.Picture.Graphic.Empty then
      //Image vide
    else
      //Image pleine
    Mais si Image1 est vide et que je lance le teste, l'application me renvoye cette erreur :

    Le projet Project1.exe a déclenché la classe d'exception EAccessViolation avec le message 'Violation d'accès à l'adresse 0045B8FE dans le module 'Project1.exe'. Lecture de l'adresse 00000000'.
    Quelqu'un connaîtrait-il une méthode pour tester une Timage fonctionnant correctement ?

    Merci d'avance.

    Lohot

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 57
    Points : 56
    Points
    56
    Par défaut
    Je viens de trouver la solution à mon problème. En fin de compte, en remplaçant le code précédent par celui qui suit, tout fonctionne correctement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if Image1.Picture.Bitmap.Empty then
      // Image vide
    else
      // Image pleine
    Pour que ce teste fonctionne avec n'importe quel type d'image, il suffit d'écrire le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var
      bmp: TBitMap;
    Begin
      bmp := TBitMap.Create;
      bmp.Assign(Image1.Picture.Graphic);
      If bmp.Empty then
        // Image vide
      Else
        // Image pleine;
      bmp.Free;
    End;
    A+

    Lohot

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Points : 5 953
    Points
    5 953
    Par défaut
    Bonjour,

    Tu pouvais egalement sécuriser ton test en placant dans un bloc Try Except

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

Discussions similaires

  1. Timage et Canvas??
    Par vanack dans le forum C++Builder
    Réponses: 4
    Dernier message: 14/04/2007, 11h38
  2. [TImage] Transfert de Picture par pixels.
    Par H2D dans le forum Langage
    Réponses: 9
    Dernier message: 25/10/2003, 14h37
  3. TImage
    Par Thylia dans le forum C++Builder
    Réponses: 5
    Dernier message: 09/07/2002, 20h03
  4. Création dynamique de TImages
    Par Dric dans le forum C++Builder
    Réponses: 10
    Dernier message: 08/07/2002, 12h36
  5. test collisions
    Par tatakinawa dans le forum OpenGL
    Réponses: 5
    Dernier message: 08/06/2002, 06h03

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