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 :

pngimage.pas - Delphi 2009


Sujet :

Composants VCL Delphi

  1. #1
    Membre confirmé Avatar de bionicleman
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Par défaut pngimage.pas - Delphi 2009
    Bonjour,
    je souhaiterais utiliser des images .png dans un TImage. Aucun soucis jusqu'au moment de la compilation :
    J'ai pas mal d'erreurs, qui sont toutes les mêmes :

    pngimages.pas : E2064 La partie gauche n'est pas affectable.

    Code delphi : 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
    procedure TChunkIDAT.CopyInterlacedRGB8(const Pass: Byte;
      Src, Dest, Trans{$IFDEF Store16bits}, Extra{$ENDIF}: pChar);
    var
      Col: Integer;
    begin
      {Get first column and enter in loop}
      Col := ColumnStart[Pass];
      Dest := pChar(Longint(Dest) + Col * 3);
      repeat
        {Copy this row}
        Byte(Dest^) := fOwner.GammaTable[pByte(Longint(Src) + 2)^]; inc(Dest);
        Byte(Dest^) := fOwner.GammaTable[pByte(Longint(Src) + 1)^]; inc(Dest);
        Byte(Dest^) := fOwner.GammaTable[pByte(Longint(Src)    )^]; inc(Dest);
    
        {Move to next column}
        inc(Src, 3);
        inc(Dest, ColumnIncrement[Pass] * 3 - 3);
        inc(Col, ColumnIncrement[Pass]);
      until Col >= ImageWidth;
    end;
    Les lignes en gras provoquent des erreurs.

    J'ai fais pas mal de recherches hier soir pour réparer ces erreurs, je suis tombé sur des sites chinois qui ne m'ont pas plus aidés..

    Merci d'avance. =)

    Comme dis dans le titre, j'utilise Delphi 2009 où le TImage prends en compte les png.

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 041
    Par défaut
    C'est pas celui de Jedi ça dans MakePNG ?
    Supprime la DCU dans le dossier Lib
    Je n'ai qu'une Trial de Delphi (putain, l'install de Jedi est une grosse merdouille sans la compilation en ligne de commande), et hier, j'ai justement testé les PNG Natif de Delphi à la place de MakePNG ... qui d'ailleurs utilise le type string et comme il n'y a pas eu de correction depuis 2004 ne supporte pas l'UniCode de Delphi 2009

    Dest ... un PChar (D7: Ansi, D2009, UniCode\Wide)
    Dest^ .... un Char
    Byte(Dest^) ... n'est pas correct car cela transtype une case mémoire de 2 octets en une d'un octet ...
    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 confirmé Avatar de bionicleman
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Par défaut
    Salut et merci de ta réponse,
    pour commencer, j'ai essayé de supprimé la DCU du dossier lib delphi compile avec un composant "pngimage" que j'avais installé avant de le supprimer quand j'ai appris que delphi 2009 intégrait la gestion des png (je pensais que delphi reprendrait son composant par défaut).
    Si ensuite je déplace ce composant delphi "ne peut résoudre le nom d'unité 'pngimage'..".
    Ensuite, je veux bien croire qu'il y ai des erreurs dans ce code (d'où les erreurs de compil') mais je ne suis pas assez calé pour les résoudre moi même.

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 041
    Par défaut
    Tu n'as rien à déplacer, l'untié PNGImage est fourni dans Delphi, il ne faut surtout pas toucher à celui dans Programs\CodeGear\Rad ...

    Par contre tu as des chemins de bibliothèque qui doivent poser problème entre JEDI et Delphi
    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

  5. #5
    Membre confirmé Avatar de bionicleman
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Par défaut
    Ah ! Houston, nous avons une solution !

    J'ai cherché un peu au niveau des chemins de bibliothèque, j'ai édité tout ce petit monde et tout marche bien !
    Merci pour t'es indications ShaiLeTroll.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 96
    Par défaut
    Salut

    Je déterre car j'ai le même problème mais j'ai pas compris la solution.
    Je suis sous delphi xe et la compilation se bloque sur l'unité pngimage.pas

    Je comprends pas bien, je n'ai pas touché à ce pngimage.pas qui est intégré à delphi. JE dois faire quoi ? J'ai essaye de supprimer les dcu de pngimage dans le dossier lib mais sans succes.

    Merci.

  7. #7
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 041
    Par défaut
    Quelle est l'erreur ?
    La même ?
    tu as vérifiés des conflits entre plusieurs lib PNG comme c'était le cas dans ce sujet ?
    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

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

Discussions similaires

  1. GrizzlyPack ne marche pas avec delphi 2009
    Par chekkal dans le forum Firebird
    Réponses: 1
    Dernier message: 19/10/2011, 01h17
  2. Réponses: 0
    Dernier message: 05/07/2010, 15h44
  3. Réponses: 8
    Dernier message: 25/10/2009, 11h03
  4. Fmod sur delphi 2009 compile mais pas de son
    Par jamal91 dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 09/05/2009, 23h14
  5. Réponses: 8
    Dernier message: 08/05/2006, 20h40

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