PDA

View Full Version : [Visual C# 2005] Problema con gli eventi


Steel Jans
11-01-2008, 18:35
Ragazzi ho questo problema!

Sto realizzando un'applicazione in cui ho la necessità di controllare l'inserimento/rimozione delle periferiche di memorizzazione usb.
Dal momento che ho diversi form in cui effettuare questa operazione ho pensato di creare una classe apposita in cui poter gestire l'evento per le porte usb che nel momento in cui si verifica lancia un secondo evento personalizzato (sempre definito nella stessa classe).
Quindi in tutte i form in cui ho bisogno di implementare questa funzionalità mi basta poter gestire il mio evento personalizzato.
Purtroppo si verifica uno strano comportamento a cui non riesco a dare una spiegazione.

a questo link (http://web.tiscali.it/ap_domain) potete scaricare un piccolo esempio funzionante che ho scritto apposta per voi con la speranza che possiate aiutarmi a trovare una soluzione.
Dopo aver avviato l'esempio cliccate sul pulsante "Avvia" e inserite una pennetta usb. Prima di chiudere cliccate sul pulsante "Ferma".
Grazie.

ps. Chiedo scusa al moderatore cionci

ReaToMe
11-01-2008, 22:43
Il link non funziona...

Steel Jans
13-01-2008, 07:37
Quando clicchi sul link si apre una pagina web con un altro collegamento "Codice esempio".
Clicca su quest'ultimo e si apre la finestra di download per il file.
Grazie

Steel Jans
14-01-2008, 08:53
Nessuno ci ha dato un'occhiata?

f@bio80
14-01-2008, 10:27
intanto spiega qual'è il problema che ti dà :)

Steel Jans
14-01-2008, 11:43
Il problema è che non esegue tutte le istruzioni presenti nel metodo che viene chiamato al verificarsi dell'evento che ho definito.
Riassumo brevemente come si verificano gli eventi:

nella classe MTG:
- viene monitorato l'inserimento/rimozione di periferiche di massa usb.
- quando si verifica uno di questi due eventi viene eseguito il metodo
protected virtual void UsbEventArrived
- questo metodo non fa altro che lanciare un secondo evento (quello da me definito).

Nella classe Form1 verifico semplicemente il verificarsi del secondo evento che nel momento in cui si verifica viene eseguito il metodo private void InsertedUsb()
Quello che non capisco è il perché non riesco ad esempio a modificare il testo di un etichetta della Form1 mentre viene eseguito benissimo un messagebox.
Sembra che vengono eseguiti solo metodi statici.
Per capire meglio fate qualche prova inserendo delle istruzioni nel metodo InsertUsb