-
Créer une DLL ressource
Bonjour à tous,
Mon logiciel utilise des images stockées dans un dossier spécifique. Pour les utiliser j'utilise un simple LoadFromFile(). Cela fonctionne parfaitement.
Cependant je cherche à faire une simple DLL ressource contenant ces même fichiers .bmp pour au final n'avoir qu'une simple DLL au lieu d'avoir 50 fichiers dans un dossier.
Or je début totalement ... j'ai lu différentes FAQ et sujet mais on parle des fois d'un fichier .rs (ou .res) et d'autre fois de DLL.
Donc si quelqu'un pouvait me donner une démarche simple pour créer une DLL avec les différents fichiers images dedans et surtout comment l'utiliser dans mon programme.
Merci d'avance
-
Tu peux aussi utiliser un Fichier Zip, tu as de nombreuses Lib pour attaquer un Zip en Stream !
Sinon, pour la création de DLL contenant des Images comme Ressource
il y a le fichier RC, c'est un simple fichier texte qui énumère les ressources à inclure, il sera compilé pour intégrer les ressources au binaire généré
Ajout un fichier RC à ton projet, chaque ligne étant de la forme suivante pour les BMP
Code:
NOM_DE_RESSOURCE BITMAP Fichier.bmp
il y a le fichier RES, déjà compilé, modifiable par diverses outils, celui-ci peut être inclu directement !
en Delphi, avec le fichier RES, c'est assez facile, il suffit de faire un $R Fichier.RES.
Je pense qu'en C++, tu dois pouvoir faire #pragma resource "Fichier.RES", si tu as inclu "Fichier.RC" à ton projet, il devrait être compilé pour générer le "Fichier.RES"
Utilise la méthode LoadFromResourceName pour charger tes images par la suite !
Pour générer le fichier RES manuellement, tu peux utiliser l'Editeur d'Image des anciens C++Builder !
-
Merci pour ta réponse. Cela fonctionne très bien.
Je vais faire un petit tuto je pense pour ceux que sa intéresse.
Par contre si le fichier ressource (.res) fait 10MO, l’exécutable sera augmenté de 10MO ...
C'est pour cela que je voulais plutôt faire une DLL ressource.
Donc si quelqu'un savait comment faire je suis preneur même si ta méthode fonctionne très bien
-
Si tu mets le Fichier RC\RES dans une DLL
Ensuite, tu fais un LoadLibrary de la DLL
Puis tu fais LoadFromResourceName sur le Handle de la DLL, il me semble que cela fonctionne !
-
C'est juste que j'ai pas la moindre idée de comment mettre le *.res dans une DLL
:roll:
Je cherche mais trouve pas grand chose
-
Dans le Main, juste avant la "WINAPI DLLEntryPoint"
tu mets le #pragma resource "Fichier.RES"
-
je tiens à m'excuser du retard de ma réponse. J'ai eu un déplacement professionnel cette semaine.
En tout cas je tiens à vous remerciez de votre aide.
J'ai résolus mon problème grâce à vous. J'ai réussi à créer mes DLL :)
Je clos le sujet.
MERCI encore