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

EDI Delphi Discussion :

D2009 et chargement de png et jpg par les ressources


Sujet :

EDI Delphi

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 17
    Par défaut D2009 et chargement de png et jpg par les ressources
    bonjour,

    Je cherche à avoir accès à des images png et/ou jpg en les intégrant en tant que ressource dans mon projet par le menu Projet->Ressources...
    sans passer par un fichier .res et le déclarer avec $R

    normalement ça fait partie des nouveautés D2009

    je déclare donc mes 2 ressources

    monImageJpg.jpg RCDATA JpgImage_1
    monImagePng.png RCDATA PngImage_1

    pour charger une des images dans un speedbutton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        SpeedButton1.Glyph.LoadFromResourceName(HInstance,'JpgImage_1');
        SpeedButton1.Glyph.LoadFromResourceName(HInstance,'PngImage_1');
    à chaque fois j'ai le message
    "Ressource JpgImage_1 non trouvée"

    Alors que si je déclare un bmp dans mes ressources, le load se passe très bien.
    Pouvez-vous me dire si vous avez le même message d'erreur sur vos postes de dév.
    merci

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 969
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 969
    Par défaut
    J'ai fait un essai et ça fonctionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TForm1.FormCreate(Sender: TObject);
    var
      Png :TPngImage;
    begin
      Png := TPngImage.Create;
      Png.LoadFromResourceName(hInstance, 'PngImage_1');
      Image1.Picture.Assign(Png);
      Png.Free;
    end;
    Le problème viens du Glyph qui ne supporte toujours que les bitmaps .

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 17
    Par défaut
    tu me devances, j'arrive au même code pour le faire fonctionner.
    merci pour l'aide

  4. #4
    Membre Expert Avatar de guillemouze
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    876
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 876
    Par défaut
    je pense que derriere le "SpeedButton1.Glyph.LoadFromResourceName" se cache LoadResource(..., RT_BITMAP, ...)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 17
    Par défaut
    pour le jpg, je suis passé par une ressource car la procedure LoadFromResourceName n'existe pas.

    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
     
    var
      Res: TResourceStream;
      Jpg : TJPEGImage;
    begin
        Jpg := nil;
        Res := nil;
        try
          Jpg := TJPEGImage.Create;
          Res := TresourceStream.Create(HInstance, 'JpgImage_1', RT_RCDATA);
          Jpg.LoadFromStream(Res);
          SpeedButton1.Glyph.Assign(Jpg);
        finally
          Res.Free;
          Jpg.Free;
        end;
    end;

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 17
    Par défaut
    je me permets de rouvrir le topic car je bute dans un cas particulier.
    les méthodes décrites ci-dessus marche très bien à partir d'un projet.

    J'ai donc voulu procéder de la même manière dans un package (bpl), je déclare mes ressources et je charge ces ressources dans mes composants.
    sauf que dans ce cas, il me met de nouveau l'erreur "Ressource PngImage_1 non trouvée"

    pour que mes composants perso retrouvent leurs ressources, il veut absolument les memes ressources dans le projet final

    je sais pas si ça peut provenir de l'instance?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2002
    Messages : 213
    Par défaut
    Citation Envoyé par b.grellee Voir le message
    je me permets de rouvrir le topic car je bute dans un cas particulier.
    les méthodes décrites ci-dessus marche très bien à partir d'un projet.

    J'ai donc voulu procéder de la même manière dans un package (bpl), je déclare mes ressources et je charge ces ressources dans mes composants.
    sauf que dans ce cas, il me met de nouveau l'erreur "Ressource PngImage_1 non trouvée"

    pour que mes composants perso retrouvent leurs ressources, il veut absolument les memes ressources dans le projet final

    je sais pas si ça peut provenir de l'instance?
    J'ai exactement le même soucis, as tu trouvé une solution?

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2002
    Messages : 213
    Par défaut
    Voilà, finalement j'ai trouvé une solution!

    Je n'utilise plus de gestionnaire de ressources pour le package mais je compile le fichier RES de manière indépendante via BRCC32 et je l'inclus dans le package.
    De cette manière, toute fonctionne nickel et ... du premier coup!

    Je joins le site internet qui m'a aidé à réussir l'opération : http://www.delphi3000.com/articles/article_2606.asp?SK=

Discussions similaires

  1. Chargement d'un script javascript par Ajax
    Par lvr dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/12/2007, 00h16
  2. Réponses: 4
    Dernier message: 19/10/2007, 11h27
  3. Réponses: 7
    Dernier message: 16/05/2007, 14h26
  4. pb de chargement d'un xml créé par php
    Par rogerlenoir dans le forum Flash
    Réponses: 7
    Dernier message: 27/01/2007, 12h18
  5. Vitesse de chargement d'une image jpg ?
    Par ybruant dans le forum Langage
    Réponses: 6
    Dernier message: 16/11/2004, 21h42

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