Inserire risorse in DLL ed accedervi dal programma principale

martedì 12 ottobre 2010 - 14.56
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Visual Studio 2010

luka82 Profilo | Junior Member

Vorrei creare una Dll nella quale inserire come risorse tutte le icone ed immagini che utilizzo nel mio programma. Avevo pensato di creare un array public ed inserire in ogni indice il riferimento alla risorsa e poi accedere dal mio programma, così funzionerebbe solo che vorrei vedere dal mio programma anche il nome della risorsa in modo da vedere all'indice x dell'array il nome dell'immagine. Non so se ho reso l'idea.
Ciao

luigidibiasi Profilo | Guru

vuoi fare una cosa del tipo:

class MiaDll public Immagine as Image = My.resources.[nomeImmagine1_inRisorseDll] public Immagine1 as Image = My.resources.[nomeImmagine2_inRisorseDll] public Immagine2 as Image = My.resources.[nomeImmagine3_inRisorseDll] end class

per referenziarti le risorse nella DLL e chiamarle per nome dal programma principale?
Luigi Di Biasi


http://www.dibiasi.it/
http://netsell.dibiasi.it - ecomm software -
http://blogs.dotnethell.it/luigidibiasi/

luka82 Profilo | Junior Member

>vuoi fare una cosa del tipo:
>
>class MiaDll
>
>public Immagine as Image = My.resources.[nomeImmagine1_inRisorseDll]
>public Immagine1 as Image = My.resources.[nomeImmagine2_inRisorseDll]
>public Immagine2 as Image = My.resources.[nomeImmagine3_inRisorseDll]
>
>
>end class
>
>per referenziarti le risorse nella DLL e chiamarle per nome dal
>programma principale?
Attualmente faccio una cosa del genere:
class MiaDll Public Images(10) as image ... ... images(0) = My.resources.[nomeImmagine1_inRisorseDll] images(1) = My.resources.[nomeImmagine2_inRisorseDll] End Class
Però, ovviamente, dal mio programma riesco ad accedere solo ad images(i) e non al nome dell'immagine contenuta. Così facendo devo sapere sempre all'indice x che immagine c'è...

luigidibiasi Profilo | Guru


>Public Images(10) as image
>...
>...
>images(0) = My.resources.[nomeImmagine1_inRisorseDll]
>images(1) = My.resources.[nomeImmagine2_inRisorseDll]
>End Class

>Però, ovviamente, dal mio programma riesco ad accedere solo ad
>images(i) e non al nome dell'immagine contenuta. Così facendo
>devo sapere sempre all'indice x che immagine c'è...

capisco,
magari puoi valutare l'utilizzo di un dictionary(of string,image)

Dim images as dictionary(of string,image)
images.add("NomeImmagine",my.resource.NomeImmagine)

provo a vedere se riesco a trovare qualcosa che automatizza la lettura di my.resource
Luigi Di Biasi


http://www.dibiasi.it/
http://netsell.dibiasi.it - ecomm software -
http://blogs.dotnethell.it/luigidibiasi/

luka82 Profilo | Junior Member

Pensavo anch'io ad una cosa del genere, ma pensi sia una soluzione valida inserire le immagini nella DLL?
Ciao e grazie

luigidibiasi Profilo | Guru

>Pensavo anch'io ad una cosa del genere, ma pensi sia una soluzione
>valida inserire le immagini nella DLL?

Pensiero personale: le soluzioni valide sono quelle che funzionano
mettendole nelle DLL parti dal presupposto di volerle condividere con più moduli che si caricano quella DLL. Se carichi la DLL esplicitamente (non con aggiungi riferimenti in Visual Studio) parti anche dal presupposto di volerla cambiare senza ricompilare i moduli che la usano....

Per me va bene !

>Ciao e grazie

Luigi Di Biasi


http://www.dibiasi.it/
http://netsell.dibiasi.it - ecomm software -
http://blogs.dotnethell.it/luigidibiasi/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5