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

API, COM et SDKs Delphi Discussion :

Image dans ressource non trouvée depuis une dll


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre confirmé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Points : 512
    Points
    512
    Par défaut Image dans ressource non trouvée depuis une dll
    Salut tout le monde,

    dans une form, j'ai le code suivant :
    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
    procedure TfAccueil.FormCreate( Sender : TObject );
    var
      Res : TResourceStream;
      Png : TPNGObject;
    begin
        Res := TResourceStream.Create( 0, 'logo', 'PNG' );
     
      if Res <> nil then
      begin
        Png := TPNGObject.Create;
        Png.LoadFromStream( Res );
        imLogo.Picture.Assign( Png );
        Png.Free;
        Res.Free;
      end;
    end;
    logo est une image PNG inclue dans un fichier de ressources .res.
    Ce code dans un projet d'application classique fonctionne sans problème.
    Ce même code dans un projet "Bibliothèque de types" avec des objets automation me renvoie ce message d'erreur :
    Ressource logo non trouvée
    Pourtant, j'ai bien vérifier que l'appel {$R resMyFichier.res}, j'ai vérifier que le fichier .res se trouve dans le répertoire du projet dll.

    Avec REsHacker, j'ai regardé les ressources inclues dans la dll et je retrouve l'image PNG nommée logo.

    Pourquoi je n'arrive pas à charger l'image PNG nommée logo ?
    La dll est appelée depuis un autre programme, est-ce que le problème peut venir de là ?
    Merci pour votre aide.

  2. #2
    Membre confirmé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Points : 512
    Points
    512
    Par défaut
    C'est bon, j'ai trouvé, il fallait remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Res := TResourceStream.Create( 0, 'logo', 'PNG' );
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Res := TResourceStream.Create( hInstance, 'logo', 'PNG' );
    En fait, il devait essayer de trouver l'image dans l'exe hôte de la dll et non dans la dll.

    Merci, ++.

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

Discussions similaires

  1. Réferencer une image en xaml depuis une dll
    Par Nanais19 dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 22/05/2014, 14h12
  2. Réponses: 4
    Dernier message: 16/07/2013, 12h48
  3. Borland C++ 6 ecrire dans un objet richedit depuis une DLL
    Par sergeprd dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 18/04/2011, 18h13
  4. Ressource non trouvée lors d'une redirection.
    Par a.pellet dans le forum Play!
    Réponses: 6
    Dernier message: 27/05/2010, 17h20
  5. appeler du .NET depuis une dll non managé
    Par sebs_78 dans le forum VC++ .NET
    Réponses: 1
    Dernier message: 05/12/2007, 09h36

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