Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Delegato nothing dopo che viene invocato
giovedì 22 luglio 2010 - 10.03
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
.NET 3.5
|
Windows 7
|
Visual Studio 2008
maurizio79
Profilo
| Junior Member
87
messaggi | Data Invio:
gio 22 lug 2010 - 10:03
Ciao a tutti. Ho usato un delegato per avere la possibilità di invocare una Sub dall' interno di una classe contenuta in una Dll secondaria. Si tratta di una Sub molto semplice, con un paio di parametri, che chiama un form, lo mostra come dialogo e lo distrugge.
Il delegato però funziona solo la prima volta che viene invocato, infatti subito dopo la chiamata ad Invoke diventa nothing. Ecco un pò di codice:
Questa è la sub:
Public Sub Pren_Edita(ByVal pr_A As Long, ByVal pr_B As Integer)
Questa è la dichiarazione del delegato:
Delegate Sub Delegato_di_Pren_Edita(ByVal _A As Long, ByVal _B As Integer)
Questo è la chiamata alla classe dalla quale il metodo viene invocato:
Dim miodel As New Delegato_di_Pren_Edita(AddressOf Pren_Edita)
Dim grappo As New _Namspace.MiaClasse(Par1, Par2, miodel)
Il parametro miodel è opzionale ed è di tipo object
Dopodichè all' interno della classe, quando la sub viene invocata funziona perfettamente, ma alrigo successivo il riferimento al delegato è nothing, per cui la terza delle prossime tre righe genera un errore:
MsgBox(Delegato1.GetType.ToString)
Delegato1.invoke(1, 4)
MsgBox(Delegato1.GetType.ToString)
Qualcuno saprebbe spiegarmi il motivo di questo?
Nota: Se nel metodo invocato faccio anche soltanto istanziare il form, l' errore si verifica. Se gli faccio svolgere qualsiasi altro tipo di operazione, no.
Ciao e grazie, Maurizio
Torna su
Stanze Forum
Elenco Threads
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 !