[Pocket Pc 2003] Problema strano su picturebox.

sabato 27 settembre 2008 - 11.46

tonidir Profilo | Newbie

Salve, premesso che ho cercato sul forum e credo di non aver trovato nulla di simile, vi posto il mio problema.
Ho sviluppato un'applicazione per pocket pc col 2003, ha delle immagini in delle picturebox.
Nel frmMain.Designer.vb c'è il seguente codice (creato direttamente dal sistema di sviluppo):

'
'pctLogo
'
Me.pctLogo.Image = CType(resources.GetObject("pctLogo.Image"), System.Drawing.Image)
Me.pctLogo.Location = New System.Drawing.Point(42, 4)
Me.pctLogo.Name = "pctLogo"
Me.pctLogo.Size = New System.Drawing.Size(184, 40)


Appena lo compilo mi da il seguente errore su questa parte System.Drawing.Image nel codice sopra:


System.NotSupportedException non è stata gestita
Message="System.Drawing.Bitmap"
StackTrace:
at System.Resources.ResourceReader.LoadObjectV2()
at System.Resources.ResourceReader.LoadObject()
at System.Resources.RuntimeResourceSet.GetObject()
at System.Resources.ResourceManager.GetObject()
at System.Resources.ResourceManager.GetObject()
at System.Reflection.RuntimeConstructorInfo.InternalInvoke()
at System.Reflection.RuntimeConstructorInfo.Invoke()
at System.Reflection.ConstructorInfo.Invoke()
at System.Activator.CreateInstance()
at MyForms.Create__Instance__()
at MyForms.get_frmMain()


Credendo che fosse un problema di immagini ho provato a toglierle e reinserirle, e l'errore passava all'immagine successiva provando a compilare, ma togliendo tutte le immagini e reinserendole il problema si ripresentava sulla prima immagine.
C'è da dire che un giorno prima funzionava tutto correttamente, ho solo aggiunto un tab sull'applicazione ed ho provato a toglierlo dopo l'errore.

Grazie per qualsiasi aiuto

P.S.: Scusate se ho sbagliato sezione.

Toni.

freeteo Profilo | Guru

ciao,
dal messaggio d'errore il problema sta nella risorsa che carichi,ovvero l'immagine che hai messo nelle risorse del progetto, sembra quasi che sia un'immagine non corretta, o cmq non è un'immagine magari, oppure ancora potrebbe essere un "null", ovvero il nome non è corretto.

Ma per evitare di questi problemi, ed avere già il tipo giusto in fase di codice, la classe Resources da' già la risorsa disponibile da intellisense, ad esempio:
pictureBox1.Image = Resources.logo;
ed è già un bitmap, ovvero un'immagine che ho messo nelle risorse chiamata "Logo".
Perchè tu invece usi il metodo per caricarle a runtime per nome? Forse questo nome non è corretto...


ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

tonidir Profilo | Newbie

Grazie per la risposta.
Questo metodo per l'immagine non l'ho scelto io, almeno in maniera intenzionale, ma è stato scelto dall'ambiente di sviluppo.
Farò una prova come dici, spero soltanto che il codice non venga cambiato dall'ambiente di sviluppo.
Le immagini sono corrette e il percorso è corretto, il giorno prima funzionava tutto.

Grazie ancora ciao.

Toni.


EDIT: Alla fine ho risolto seguendo uno dei post di questo link: http://social.msdn.microsoft.com/forums/en-US/clr/thread/e942daa1-444d-440b-8e76-51e122d6ce0f
Praticamente nel progetto avevo un riferimento errato (senza sapere come c'era finito) e l'ho tolto ed ho fatto il reset nel dispositivo/emulatore, poi tutto ha ripreso a funzionare senza fare nessuna modifica al codice
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