NivekR
Messages postés87Date d'inscriptionmercredi 1 octobre 2008StatutMembreDernière intervention28 avril 2009
-
21 avril 2009 à 22:43
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 2016
-
22 avril 2009 à 15:05
Bonsoir à tous et à toutes,
Voilà mon souci, j'ai crée une petite application nécessitant des images chargées aléatoirement.
Pour le moment, il faut que je laisse le dossier source des images avec l'exécutable pour qu'elles soient correctement chargées et je voulais savoir si il n'y avait pas la possibilité d'inclure les images (ou le dossier) à l'exécutable afin de plus avoir à garder ce dossier :)
Guillemouze
Messages postés991Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention29 août 20136 22 avril 2009 à 10:42
@bacterius: 0 et hInstance sont plus ou moins equivalent dans ce cas. 0 signifie qu'il va aller piocher les resources dans l'app courante, hInstance est le handle de l'app courante --> meme resultat.
En revanche si tu utilise cette ligne dans un composant (bpl), il faut absolument que tu precise hInstance, car hinstance est le handle du bpl, 0 est le handle de delphi, donc il recherchera ta resource dans celle de delphi ! (du moins c'est ce que je me suis dit apres quelques investigations lorsque je suis tombé sur ce probleme).
@nivekr:
MonBitmap: TBitmap; // qui est par exemple Image1.Picture.Bitmap;
si tu as plusieurs images, ca marche de la meme maniere :
fichier .rc : ID_IMAGE_1 BITMAP "image1.bmp"
ID_IMAGE_2 BITMAP "image2.bmp"
fichier .pas : Image1.Picture.Bitmap.LoadFromResourceName(0, 'ID_IMAGE_1');
Guillemouze
Messages postés991Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention29 août 20136 22 avril 2009 à 00:13
alors resumé en 4 etapes :
- un fichier MonFichier.rc contenant des lignes de la forme:
NOM_DE_LA_RESOURCE BITMAP "UneImage.bmp"
- compiler le rc avec brcc32 (a cote de delphi.exe)
brcc32.exe MonFichier.rc
- inclure le RES generé a l'etape precedente a une unite ou au dpr, grace a la ligne
{$R MonFichier.res}
- charger ton image depuis la resource :
MonBitmap.LoadFromResourceName(0, 'NOM_DE_LA_RESOURCE');
Vous n’avez pas trouvé la réponse que vous recherchez ?
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 22 avril 2009 à 00:28
Guillemouze n'est-il pas nécessaire de passer le HInstance de l'application au LoadFromResourceName ? Ca a toujours été une question pour moi, peux-tu m'éclairer là-dessus ?
NivekR
Messages postés87Date d'inscriptionmercredi 1 octobre 2008StatutMembreDernière intervention28 avril 2009 22 avril 2009 à 03:15
Merci, je vais essayer ceci au plus tôt.
Quand on a plusieurs images, comment fait-on pour les distinguer lors de l'appel?
"MonBitmap.LoadFromResourceName(0, 'NOM_DE_LA_RESOURCE');"
"MonBitMap" est le nom donnée à l'image?
Guillemouze
Messages postés991Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention29 août 20136 22 avril 2009 à 14:03
je te l'ai mis !
brcc32.exe MonFichier.rc
- soit par la console (n'oublie pas de mettre les chemins complets dans ce cas la)
- soit par l'explorateur : tu fais glisser ton fichier .rc sur brcc32 et ca devrait marcher je pense (mais tu ne verra pas les messages d'erreur s'il y en a)
moi j'ai fait un batch:
brcc.bat "%programfiles%\borland\delphi7\bin\brcc32.exe" %1
pause
que j'ai mis dans le dossier windows qui est accessible de partout
NivekR
Messages postés87Date d'inscriptionmercredi 1 octobre 2008StatutMembreDernière intervention28 avril 2009 22 avril 2009 à 14:51
Merci, j'ai réussi.
J'ai crée un fichier RC avec le Bloc-Notes puis je l'ai ouvert avec BRCC32 ('Ouvrir avec...') et il m'a crée le fichier RES que j'ai intégré à mon projet.
Et c'est nickeeeeeeeeeellllllllllllllllllll !!!!!!!!!
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 22 avril 2009 à 15:05
Erf ça ne marche pas avec LoadFromResourceName ? Ces méthodes sont optimisées (100% garantie VCL), alors qu'avec LoadBitmap il faut vérifier plein de trucs ... si la ressource a bien été trouvée, si il n'y a pas d'erreur, etc ... Enfin ça revient au même mais les méthodes du TBitmap sont optimisées :p