Torna indietro   Hardware Upgrade Forum > Software > Programmazione

L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
La parola d'ordine al Nextcloud Summit 2026, che si è tenuto a Monaco, è stata "sovranità". Non come è spesso usato questo termine in politica ma, al contrario, come capacità positiva di decidere il proprio destino tecnologico, con modalità collaborative e aperte. L'Europa dice già molto nel mondo open source, che viene visto come mezzo per ottenere la tanto agognata autonomia digitale
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete implementa due bracci estensibili, per spazzola e moccio, che si spingono ben oltre quanto visto sino ad oggi permettendo una pulizia di casa ancor più capillare e precisa
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
La tecnologia SQD-Mini LED di TCL arriva sul taglio da 65 pollici con la serie C8L: 2040 zone, pannello WHVA 2.0 e un picco che alle rilevazioni delle sonde tocca i 4400 nit nel profilo Filmmaker e un HDR quasi perfetto
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-08-2007, 10:22   #1
Traxsung
Senior Member
 
L'Avatar di Traxsung
 
Iscritto dal: Apr 2005
Messaggi: 5245
[VB.NET] Gestire InvalidOperationException

Ragazzi mi trovo di fronte a questo problema



in pratica non è stata gestita InvalidOperationException


Potete spiegarmi come gestirla??

Grazie
Traxsung
Traxsung è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2007, 10:32   #2
Luc72
Senior Member
 
L'Avatar di Luc72
 
Iscritto dal: Sep 2006
Messaggi: 335
quel pulsante si trova sullo stesso form? come hai istanziato il form? visualizzandolo semplicemente (.show) oppure creando un oggetto, ad esempio:
dim FRM_Main as new frmxxxxx
application.run(FRM_Main)

oppure
dim FRM_Main as new frmxxxxx
FRM_Main.show

rimango in attesa
Luc72 è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2007, 10:33   #3
qwerty86
Senior Member
 
L'Avatar di qwerty86
 
Iscritto dal: Jun 2007
Messaggi: 1232
Questo è il modo per gestire le eccezioni :
Codice:
 try
   'Codice che potrebbe generare un errore.
  Catch
   'Codice da eseguire in caso di errore.
  Finally
   'Codice da eseguire sia che si sia verificato un errore nel
   'blocco try sia che non ci siano stati problemi.
  End try
questo è un esempio :

Codice:
try
   Dim A As Byte = 100
   Dim B As Byte = A * A
  Catch ex As OverflowException
   MsgBox("Si è verificato un errore: " & ex.Message)
  End try
__________________
Cpu: Amd 64 X2 5200+ - Mobo:M2N32SLI DELUXE - Ram: Corsair xms2 800 mhz kit 4gb - SK Video: Gaiward GTS250 - Ali : Enermax Liberty 500 Wat - Mast DVD: 2 Nec AD-5170A - Case : Thermaltake Armor+ - Dissipatore: Thermaltake V1 Notebook: Sony Vaio VGN-Fe21M-Pda: Htc Diamond |Il mio sito|Flickr| Stanco del solito forum? Vieni a parlare di fotografia su Fotoni
qwerty86 è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2007, 10:37   #4
Traxsung
Senior Member
 
L'Avatar di Traxsung
 
Iscritto dal: Apr 2005
Messaggi: 5245
si, il pulsante si trova sullo stesso form
Cmq non effettuo nessun Form.show in quanto il tutto è costituito da un solo form
Traxsung è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2007, 10:47   #5
Traxsung
Senior Member
 
L'Avatar di Traxsung
 
Iscritto dal: Apr 2005
Messaggi: 5245
qwerty86...fammi capire una cosa..
Allora il debug mi comunica che c'è InvalidOperationException non gestita e mi indica come riferimento la stringa che ti ho riportato mediante immagine.
Nella fattispecie

Codice:
btnApagarImagem.Enabled = False
Adesso il sorgente è qusto:

Codice:
Ligacao2.Open()
        Sql = "Select imagem From capas where id_imagem=" & idRegisto

        Comando2 = New OleDbCommand(Sql, Ligacao2)
        Comando2.CommandType = CommandType.Text

        RS2 = Comando2.ExecuteReader
        RS2.Read()

        If RS2.HasRows Then
            Dim bytes() As Byte
            Dim imgStream As MemoryStream
            bytes = CType(RS2("imagem"), Byte())
            imgStream = New MemoryStream(bytes)
            picImagem.Image = Image.FromStream(imgStream)
            btnApagarImagem.Enabled = False
            btnImprimir.Enabled = False
            btnGuardarFicheiro.Enabled = False
        Else
            picImagem.Image = Image.FromFile(Application.StartupPath & "\no_picture.jpg", True)
            btnApagarImagem.Enabled = True
            btnImprimir.Enabled = True
            btnGuardarFicheiro.Enabled = True
        End If
        RS2.Close()
        Ligacao2.Close()
    End Sub
l'InvalidOperationException dove la devo gestire?
Traxsung è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2007, 10:48   #6
Luc72
Senior Member
 
L'Avatar di Luc72
 
Iscritto dal: Sep 2006
Messaggi: 335
mmm e' un po' strano che ti dia quell'errore, in fondo stai solo abilitando un pulsante.. scusa la domanda banale: il pulsante sul form e' gia' stato creato vero? in debug riesci a vedere le proprieta' del pulstante?
cmq visto che hai un solo form ti conviene creare un modulo bas e lanciare il form da questo, almeno riesci a gestire gli errori a livello generale...

Sub main()
Try
Dim FRM_Main as New frmcomesichiama
Application.Run(FRM_Main)

Catch ex As Exception
MessageBox.Show("FATAL ERROR - " & ex.message, "mioprg", MessageBoxButtons.OK)

'eventualmente qui puoi rilanciare in automatico l'applicazione
Finally
Shell(Application.ExecutablePath)

End Try
End Sub

nel progetto imposti come startup la sub main di questo modulo.
Luc72 è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2007, 10:53   #7
qwerty86
Senior Member
 
L'Avatar di qwerty86
 
Iscritto dal: Jun 2007
Messaggi: 1232
Prova come ha detto Luc72
__________________
Cpu: Amd 64 X2 5200+ - Mobo:M2N32SLI DELUXE - Ram: Corsair xms2 800 mhz kit 4gb - SK Video: Gaiward GTS250 - Ali : Enermax Liberty 500 Wat - Mast DVD: 2 Nec AD-5170A - Case : Thermaltake Armor+ - Dissipatore: Thermaltake V1 Notebook: Sony Vaio VGN-Fe21M-Pda: Htc Diamond |Il mio sito|Flickr| Stanco del solito forum? Vieni a parlare di fotografia su Fotoni
qwerty86 è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2007, 10:54   #8
Traxsung
Senior Member
 
L'Avatar di Traxsung
 
Iscritto dal: Apr 2005
Messaggi: 5245
Luc72...scusami ma non ti seguo...puoi spiegarmi meglio ?
Traxsung è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2007, 11:00   #9
qwerty86
Senior Member
 
L'Avatar di qwerty86
 
Iscritto dal: Jun 2007
Messaggi: 1232
btnApagarImagem.Enabled = False

prova a commentarlo e vedere se è solo lui che da problemi o anche gli altri
__________________
Cpu: Amd 64 X2 5200+ - Mobo:M2N32SLI DELUXE - Ram: Corsair xms2 800 mhz kit 4gb - SK Video: Gaiward GTS250 - Ali : Enermax Liberty 500 Wat - Mast DVD: 2 Nec AD-5170A - Case : Thermaltake Armor+ - Dissipatore: Thermaltake V1 Notebook: Sony Vaio VGN-Fe21M-Pda: Htc Diamond |Il mio sito|Flickr| Stanco del solito forum? Vieni a parlare di fotografia su Fotoni
qwerty86 è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2007, 11:03   #10
Traxsung
Senior Member
 
L'Avatar di Traxsung
 
Iscritto dal: Apr 2005
Messaggi: 5245
ok qwerty86....adesso provo
Traxsung è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2007, 11:07   #11
Traxsung
Senior Member
 
L'Avatar di Traxsung
 
Iscritto dal: Apr 2005
Messaggi: 5245
sembra strano, ma commentando

'btnApagarImagem.Enabled = False
'btnImprimir.Enabled = False
'btnGuardarFicheiro.Enabled = False

sembra andrare tranquillamente
Traxsung è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2007, 11:08   #12
qwerty86
Senior Member
 
L'Avatar di qwerty86
 
Iscritto dal: Jun 2007
Messaggi: 1232
Quote:
Originariamente inviato da Traxsung Guarda i messaggi
sembra strano, ma commentando

'btnApagarImagem.Enabled = False
'btnImprimir.Enabled = False
'btnGuardarFicheiro.Enabled = False

sembra andrare tranquillamente
perchè devi disabilitare questi pulsanti ?
__________________
Cpu: Amd 64 X2 5200+ - Mobo:M2N32SLI DELUXE - Ram: Corsair xms2 800 mhz kit 4gb - SK Video: Gaiward GTS250 - Ali : Enermax Liberty 500 Wat - Mast DVD: 2 Nec AD-5170A - Case : Thermaltake Armor+ - Dissipatore: Thermaltake V1 Notebook: Sony Vaio VGN-Fe21M-Pda: Htc Diamond |Il mio sito|Flickr| Stanco del solito forum? Vieni a parlare di fotografia su Fotoni
qwerty86 è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2007, 11:11   #13
Traxsung
Senior Member
 
L'Avatar di Traxsung
 
Iscritto dal: Apr 2005
Messaggi: 5245
sempre per il fatto che se fanno già una cosa non devo più farla fare...
Traxsung è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2007, 11:20   #14
qwerty86
Senior Member
 
L'Avatar di qwerty86
 
Iscritto dal: Jun 2007
Messaggi: 1232
Quote:
Originariamente inviato da Traxsung Guarda i messaggi
sempre per il fatto che se fanno già una cosa non devo più farla fare...
ora devo scappare , poi mi spieghi meglio e vediamo di risolvere.
__________________
Cpu: Amd 64 X2 5200+ - Mobo:M2N32SLI DELUXE - Ram: Corsair xms2 800 mhz kit 4gb - SK Video: Gaiward GTS250 - Ali : Enermax Liberty 500 Wat - Mast DVD: 2 Nec AD-5170A - Case : Thermaltake Armor+ - Dissipatore: Thermaltake V1 Notebook: Sony Vaio VGN-Fe21M-Pda: Htc Diamond |Il mio sito|Flickr| Stanco del solito forum? Vieni a parlare di fotografia su Fotoni
qwerty86 è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2007, 11:27   #15
Traxsung
Senior Member
 
L'Avatar di Traxsung
 
Iscritto dal: Apr 2005
Messaggi: 5245
ok...grazie di tutto
Traxsung è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2007, 11:40   #16
Einstein
Senior Member
 
L'Avatar di Einstein
 
Iscritto dal: Jan 2000
Città: Provincia di Parma
Messaggi: 724
Sembra che la lettura del datareader avvenga in un thread diverso da quello dell'interfaccia, e l'architettura di Windows impone che il solo il thread associato all'interfaccia possa accedere ai controlli. Hai abilitato le connessioni asincrone sulla connection string?
Ah, occhio alla SQL injection in questo codice:

Codice:
Sql = "Select imagem From capas where id_imagem=" & idRegisto
__________________
My Pc: Case Enermax Chakra - PSU Corsair HX520 - Gigabyte P35-DS3R - Core2 Duo E6550 - 6 Gb RAM Geil PC800 - 2x WD Caviar SE 320Gb (Raid1) - Xfx GeForce 8600Gt - Master Pioneer DVR111D - Samsung SM T220 - S.O. Windows 7 Ultimate x64 SP1
My blog: http://blogs.ugidotnet.org/alby
Einstein è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2007, 11:52   #17
Traxsung
Senior Member
 
L'Avatar di Traxsung
 
Iscritto dal: Apr 2005
Messaggi: 5245
Quote:
Originariamente inviato da Einstein Guarda i messaggi
Sembra che la lettura del datareader avvenga in un thread diverso da quello dell'interfaccia, e l'architettura di Windows impone che il solo il thread associato all'interfaccia possa accedere ai controlli.
mi spieghi meglio questo?? Si tratta di multithread??
Cosa devo/posso modificare per renderlo corretto??

Inoltre non ho mai capito il fatto del SQL injection

Puoi spiergarmi anche questo???

Grazie
Traxsung è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2007, 11:59   #18
Einstein
Senior Member
 
L'Avatar di Einstein
 
Iscritto dal: Jan 2000
Città: Provincia di Parma
Messaggi: 724
E' un argomento un po' complesso da spiegare in un post... Guardati la documentazione della proprietà InvokeRequired su MSDN.
Per quanto riguarda la SQL Injection:

http://www.algonet.se/~sommar/dynamic_sql.html

Ciao
__________________
My Pc: Case Enermax Chakra - PSU Corsair HX520 - Gigabyte P35-DS3R - Core2 Duo E6550 - 6 Gb RAM Geil PC800 - 2x WD Caviar SE 320Gb (Raid1) - Xfx GeForce 8600Gt - Master Pioneer DVR111D - Samsung SM T220 - S.O. Windows 7 Ultimate x64 SP1
My blog: http://blogs.ugidotnet.org/alby
Einstein è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2007, 13:38   #19
Traxsung
Senior Member
 
L'Avatar di Traxsung
 
Iscritto dal: Apr 2005
Messaggi: 5245
ho cantato troppo presto vittoria
ho provato ad aprire il file nome.vb per poterne modificare l'interfaccia grafica, ma ottengo questi errori;




che faccio ?
Traxsung è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2007, 14:01   #20
Luc72
Senior Member
 
L'Avatar di Luc72
 
Iscritto dal: Sep 2006
Messaggi: 335
Quote:
Originariamente inviato da Traxsung Guarda i messaggi
ho cantato troppo presto vittoria
ho provato ad aprire il file nome.vb per poterne modificare l'interfaccia grafica, ma ottengo questi errori;




che faccio ?
semplicemente hai toccato qualcosa che non dovevi toccare.... ovviamente hai un backup vero?

Riguardo all'sql injection la variabile idRegisto NON la devi passare nuda e cruda all'oggetto sql... altrimenti qualcuno un po' smaliziato potrebbe cancellarti in un attimo tutto il db... la prima cosa da fare e' un bel replace degli apici con i doppi apici .replace("'","''"), cmq il discorso e' troppo lungo..
Luc72 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
Dopo gli unicorni, arrivano i "soon...
Europei sempre più diffidenti ver...
L'acquisto di Steam Machine è un ...
Lenovo Prime Day: i 6 migliori sconti (a...
CATL non riesce a superare la fase proto...
Mythos, il caso si complica: causa contr...
Il pazzesco nuovo record di Xiaomi YU7 G...
OneXPlayer 3: un PC gaming in formato Ni...
Climate.us riporta online i 15 anni di C...
Hisense da 58 pollici sotto i 300€ fa tr...
Windows 11 26H2: cosa cambia e chi resta...
SpaceX ha lanciato la sua prima capsula ...
Il prezzo medio di vendita degli smartph...
Prime Day robot tagliaerba: MAMMOTION, D...
Recensione Google Home Speaker: Gemini s...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 00:07.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v