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

Composants VCL Delphi Discussion :

[Delphi 2007] TPngBitBtn - Message d'erreur "Format graphique incorrect"


Sujet :

Composants VCL Delphi

  1. #1
    Membre du Club Avatar de SuiSeb
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2019
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2019
    Messages : 30
    Points : 55
    Points
    55
    Par défaut [Delphi 2007] TPngBitBtn - Message d'erreur "Format graphique incorrect"
    Bonjour,

    J'utilise Delphi 2007 pour un projet existant que j'essaie de moderniser un peu et ajouter des fonctionnalités.

    J'ai une erreur quand je veux insérer une image dans PngImage dans un TPngBitBtn : "Format graphique incorrect".
    Le détail de l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    [20D57900]{designide100.bpl} PicEdit.TGraphicProperty.Edit (Line 270, "picedit.pas" + 10) + $12
    [20AB55C6]{coreide100.bpl} PropInsp.TPropertyInspector.PropListEditDblClick (Line 855, "PropInsp.pas" + 20) + $5
    [20E0ED7D]{vclide100.bpl} IDEInspListBox.TInspListBox.DoEditDblClick (Line 967, "ideinsplistbox.pas" + 2) + $A
    [20E10602]{vclide100.bpl} IDEInspListBox.TInspListBox.EditDblClick (Line 1538, "ideinsplistbox.pas" + 0) + $2
    [2013CA49]{vcl100.bpl  } Controls.TControl.DblClick (Line 5234, "Controls.pas" + 1) + $14
    [2013CBAC]{vcl100.bpl  } Controls.TControl.WMLButtonDblClk (Line 5275, "Controls.pas" + 4) + $C
    [2013C527]{vcl100.bpl  } Controls.TControl.WndProc (Line 5146, "Controls.pas" + 83) + $6
    [201406A7]{vcl100.bpl  } Controls.TWinControl.WndProc (Line 7304, "Controls.pas" + 111) + $6
    [2003203C]{rtl100.bpl  } Classes.TThreadList.UnlockList (Line 3359, "common\Classes.pas" + 0) + $4
    [200EBAA8]{vcl100.bpl  } Graphics.FreeMemoryContexts (Line 5060, "Graphics.pas" + 12) + $5
    [2013FDD0]{vcl100.bpl  } Controls.TWinControl.MainWndProc (Line 7073, "Controls.pas" + 3) + $6
    [2013FDE5]{vcl100.bpl  } Controls.TWinControl.MainWndProc (Line 7076, "Controls.pas" + 6) + $0
    [20040E4C]{rtl100.bpl  } Classes.StdWndProc (Line 11583, "common\Classes.pas" + 8) + $0
    [20140158]{vcl100.bpl  } Controls.TWinControl.IsControlMouseMsg (Line 7176, "Controls.pas" + 9) + $25
    [201406A7]{vcl100.bpl  } Controls.TWinControl.WndProc (Line 7304, "Controls.pas" + 111) + $6
    [20E0DF4B]{vclide100.bpl} IDEInspListBox.TPropInspEdit.WndProc (Line 430, "ideinsplistbox.pas" + 7) + $4
    [2013FDD0]{vcl100.bpl  } Controls.TWinControl.MainWndProc (Line 7073, "Controls.pas" + 3) + $6
    [20040E4C]{rtl100.bpl  } Classes.StdWndProc (Line 11583, "common\Classes.pas" + 8) + $0
    [201625E8]{vcl100.bpl  } Forms.TApplication.ProcessMessage (Line 8103, "Forms.pas" + 21) + $1
    [2016262A]{vcl100.bpl  } Forms.TApplication.HandleMessage (Line 8124, "Forms.pas" + 1) + $4
    [2016291F]{vcl100.bpl  } Forms.TApplication.Run (Line 8223, "Forms.pas" + 20) + $3
    [0042297A]{bds.exe     } bds.bds (Line 195, "" + 7) + $7

    J'ai essayé avec plusieurs PNG (certains s'ajoutent sans erreur dans d'autres composants) mais sans succès.

    Est-ce que quelqu'un aurait une astuce ?

    D'avance merci pour vos réponses.
    Bonne journée,
    Seb.
    Chef de projet et développeur Delphi (version 1, 4, 7, 2005, 2007, Rio) depuis plus de 20 ans.
    Bases de données : Oracle (9i, 11g, 12c), MySQL (5, 6, 8), Pervasive SQL, Interbase…

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 368
    Points : 24 654
    Points
    24 654
    Par défaut
    TPngBitBtn n'est pas un composant Delphi standard

    Pourquoi ne pas utiliser un TImageList + TButton, en 2007, cela exigeait déjà les propriétés ImageIndex (et les trois autres, Disabled, Hot, Pressed), c'est une nouveauté de Windows XP (COM V6) et non de Delphi en réalité.

    En ajoutant "pngimage" comme uses, cela ajoute le convertisseur de PNG au TGraphic.
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre du Club Avatar de SuiSeb
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2019
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2019
    Messages : 30
    Points : 55
    Points
    55
    Par défaut
    Hello,

    Merci pour ta réponse Shaï

    Malheureusement je n'ai pas ces propriétés dans Delphi 2007 :

    Nom : 2023-09-11-1163.png
Affichages : 61
Taille : 18,7 Ko

    Je ne sais pas depuis quelle version elles sont disponibles (dans Delphi Rio, je les aient bien)...

    Je vais rester pour l'instant avec le TBitBtn d'origine.

    Affaire à suivre,
    Seb.
    Chef de projet et développeur Delphi (version 1, 4, 7, 2005, 2007, Rio) depuis plus de 20 ans.
    Bases de données : Oracle (9i, 11g, 12c), MySQL (5, 6, 8), Pervasive SQL, Interbase…

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    il manque probablement l'unité Vcl.Imaging.pngimage dans les uses, du coup le PNG n'est pas reconnu...
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Membre du Club Avatar de SuiSeb
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2019
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2019
    Messages : 30
    Points : 55
    Points
    55
    Par défaut
    Merci à vous deux.

    En fait, j'avais déjà ajouté pngimage dans les uses sans que cela ne change le problème.

    Mais en nettoyant les uses, j'avais SXPNGUtils qui s'ajoutait à chaque fois et qui foutait la grouille...
    La suppression des composants tiers SXSkinComponents et maintenant je n'ai plus le message d'erreur quand je change les PNG dans le composant.

    Je vais voir pour ne plus avoir cette suite de composants tiers (il est utilisé par d'autres applications ancestrales que je dois maintenir).

    Je ne suis pas fan des composants tiers (pour faire des interfaces à la Apple, par exemple) mais je dois faire avec l'existant...

    Bonne journée,
    Seb.
    Chef de projet et développeur Delphi (version 1, 4, 7, 2005, 2007, Rio) depuis plus de 20 ans.
    Bases de données : Oracle (9i, 11g, 12c), MySQL (5, 6, 8), Pervasive SQL, Interbase…

  6. #6
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    effectivement, un seul composant pour un format donné...le premier enregistré à raison
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

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

Discussions similaires

  1. [XL-2010] Message d'erreur d'un graphique logarithmique
    Par Alexis1 dans le forum Excel
    Réponses: 7
    Dernier message: 18/02/2016, 09h55
  2. Réponses: 2
    Dernier message: 22/02/2015, 22h40
  3. [E-07] : Message d'erreur : "Bibliothèque d'objets incorrecte "
    Par nazimyenier dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/12/2008, 16h03
  4. Message d'erreur 'opération de pointeur incorrecte'
    Par Clotilde dans le forum Langage
    Réponses: 3
    Dernier message: 05/06/2008, 10h40
  5. [DELPHI 7][DLL] Message d'erreur s'il n'y a pas de DLL
    Par Stef.web dans le forum Delphi
    Réponses: 9
    Dernier message: 01/05/2007, 18h55

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