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 :

Utiliser un Bitmap se trouvant dans mon fichier .dll


Sujet :

Delphi

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut Utiliser un Bitmap se trouvant dans mon fichier .dll
    bonjour

    en faisant une recherche sur le forum je suis tombé sur ce sujet :

    http://www.developpez.net/forums/d22...onction-celle/

    apparemment il n'a jamais été résolue et maintenant j'ai le même besoin

    j'ai recréé un sujet vu que c'est interdit de remonter un sujet trop vieux

    pour info, je débute dans les ressources / dll et je me suis inspiré de tuto et d'exemples pour créer mes 2 fichiers (exe et dll)

    voici ma dll :

    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
    23
    24
    25
     
    library Project2;
     
    uses
      SysUtils,
      Classes;
     
    {$R *.res}
    {$R MonFichier.RES}
     
     
     
    function Somme(A, B: Integer): Integer; stdcall;
    begin
      Result := A + B;
    end;
     
     
    exports
      Somme; //Sans précision, le nom d'exportation sera "Somme" et l'index 1
     
     
     
    begin
    end.
    en gros elle contient : un fichier ressource (le bitmap) et une fonction (qui ne servira à rien dans mon programme, c'était juste pour apprendre à utiliser une fonction se trouvant dans une dll)

    et voilà un apperçu de mon exe :

    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
      Form1: TForm1;
     
     
      function Somme(A, B: Integer): Integer; stdcall; external 'Project2.dll';
     
     
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
     showmessage(inttostr(Somme(1,2)))
    end;

    d'après ce que j'ai trouvé sur le net, je sais juste que si la ressource se trouvant dans l'exe et non dans la dll j'aurai utilisé le bitmap (dans un Timage1 par ex) de manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      Image1.Picture.Bitmap.Handle:=LoadBitmap(HInstance, PChar('bmp1'));


    P.S 1 : les 2 fichiers se trouvent évidement dans le même répertoire (exe + dll)

    P.S 2 : 'bmp1' est l'identificateur du bitmap en ressource

    j'espère avoir bien détaillé le problème

  2. #2
    rsc
    rsc est déconnecté
    Membre éprouvé
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Points : 918
    Points
    918
    Par défaut
    As-tu essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    HndDll := LoadLibrary('MADLL.DLL');
    Image1.Picture.Bitmap.Handle:=LoadBitmap(HdnDLL, PChar('bmp1'));
    Roland

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 876
    Points : 1 448
    Points
    1 448
    Par défaut
    tu peux aussi faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Image1.Picture.Bitmap.LoadFromResourceName(hndDll, PChar('bmp1'));

  4. #4
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut
    merci à vous 2 ça fonctionne

    comme quoi c'était juste un truc simple à connaitre

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/11/2014, 23h13
  2. Réponses: 1
    Dernier message: 25/07/2013, 14h09
  3. Probleme d'utilisation d'images dans mon fichier css
    Par lazins dans le forum NetBeans
    Réponses: 4
    Dernier message: 02/10/2008, 20h30
  4. Saut de ligne dans mon fichier?
    Par cchampion2fr dans le forum Access
    Réponses: 1
    Dernier message: 14/09/2005, 16h22
  5. __declspec(dllexport) dans mon fichier header mais...?
    Par Jasmine dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 03/03/2004, 18h00

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