Assembly.GetManifestResourceStream [Résolu]

romagny13 710 Messages postés lundi 10 janvier 2005Date d'inscription 27 août 2014 Dernière intervention - 1 août 2006 à 22:47 - Dernière réponse : romagny13 710 Messages postés lundi 10 janvier 2005Date d'inscription 27 août 2014 Dernière intervention
- 2 août 2006 à 11:11
Bonjour


voila jai quelques difficultés a comprendre ce code



Public



Shared



Function
LoadExtenderBitmap(

ByVal
name

As



String
)

As
Bitmap




Dim
assembly

As
Assembly =

GetType
(Extender).Assembly




Return



New
Bitmap(assembly.GetManifestResourceStream(name))







End



Function






donc apparemment  assembly recupere le chemin complet vers .exe de application

mais jai du mal a comprendre ce que fait GetManifestResourceStream  et plus particulierement ou l'image va etre cherchée (name vcontient nomimage par exemple : monimage.bmp)

dans mon cas jai une exception de levée : La valeur de 'null' n'est pas valide pour 'stream'.

pourriez vous m'aider ?
merci
++
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 2 août 2006 à 02:16
3
Merci
Salut, GetManifestResourceStream  récupère une resources qui est incorporée mais pas compilée au format *.resources comme avec Resgen.exe par exemple ou implicitement avec VS.

Dans la MSDN regarde l'option -resource de vbc.exe.

Comme le dit Dolphin, VS "décore" le nom de la resource, utilise Reflector pour voir son nom exact.

Merci Lutinore 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 125 internautes ce mois-ci

Commenter la réponse de Lutinore
Meilleure réponse
romagny13 710 Messages postés lundi 10 janvier 2005Date d'inscription 27 août 2014 Dernière intervention - 2 août 2006 à 10:03
3
Merci
Bon ca y est j'ai trouvé
il faut pour l'image definir sa propriété Action de génération à ressource incorporée,

par contre j'ai un pb encore pour trouver image , car jai une exception de levée ( La valeur de 'null' n'est pas valide pour 'stream'.)

Merci romagny13 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 125 internautes ce mois-ci

Commenter la réponse de romagny13
Meilleure réponse
romagny13 710 Messages postés lundi 10 janvier 2005Date d'inscription 27 août 2014 Dernière intervention - 2 août 2006 à 11:11
3
Merci
Cette fois cest bon jai trouvé
comme il est indiqué ds un article de c2i
c'est dans le chemin vers mon image que ca clochait (enfin c logique)

Dim asm as System.Reflexion.Assembly = System.Reflection.Assembly.GetExecutingAssembly
Dim m_bitmap as Bitmap = new Bitmap(asm.GetManifestResourceStream("Namespace_de_l_assembly.nom_du_fichier"))

NB : si votre image se trouve dans un répertoire de votre solution, le paramètre du Stream est : Namespace_de_l_assembly.nom_du_rep.nom_du_fichier

enfin bon cette methode (image en ressource assembly) ne me semble pas super de prime abord mais bon elle a l'air quand mm pas mal utilisée

++

Merci romagny13 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 125 internautes ce mois-ci

Commenter la réponse de romagny13
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 1 août 2006 à 23:03
0
Merci
Salut,

je peux pas vraiment te dire mais regarde ce lien, il a l'air bien documenté !

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
Commenter la réponse de mortalino
Dolphin Boy 630 Messages postés vendredi 5 mai 2006Date d'inscription 17 février 2007 Dernière intervention - 1 août 2006 à 23:34
0
Merci
GetManifestResourceStream attend (Namespace_de_lassembly.name_fichier). C'est quoi que tu passes à LoadExtenderBitmap comme 'name' ?
Réfléchis là-dessus. Je suis sùr que tu vas trouver où ça bugge.
Commenter la réponse de Dolphin Boy
romagny13 710 Messages postés lundi 10 janvier 2005Date d'inscription 27 août 2014 Dernière intervention - 2 août 2006 à 09:19
0
Merci
Merci Lutinore pour tes explications,
j'avoue que j'ai encore du mal a comprendre mais cela m'a fait avancé

++
Commenter la réponse de romagny13
romagny13 710 Messages postés lundi 10 janvier 2005Date d'inscription 27 août 2014 Dernière intervention - 2 août 2006 à 09:35
0
Merci
en fait donc apparemment on incorpore des images en tant que ressources a assembly (.exe de application) que en suite on recupere avec GetManifestResourceStream 

mais comment fait on pour incorporer une image a assembly ?
(faut il utiliser un utilitaire ?? ou bien faire une refernece enfin je sais pas )

merci mortalino pour le bon lien 
Dolphin en fait c'est le nom de l'image mais c'est sur qu'il ne risque pas de la trouver par magie looll vu que je ne l'ai pas incorporer a assembly ( en fait j'avais recuperer une source qui utilisait cette méthode pour recuperer ses images et jai essayer de refaire mon propre exemple pour mieux comprendre lol)

++
Commenter la réponse de romagny13

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.