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
Istanziare una dll .Net a Runtime
venerdì 19 maggio 2006 - 13.19
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
gandalf_03_75
Profilo
| Junior Member
68
messaggi | Data Invio:
ven 19 mag 2006 - 13:19
Ho la necessità di caricare nel mio progetto una dll (vb .net) senza referenziarla all'interno dello stesso.
Nel vecchio vb esisteva createobject, in vb net questo comando istanzia solo dll COM.
Le DLL create con vb net non sono com.
Esiste un simil comando che posso utilizzare per istanziare la dll?
Programma scritto in vb.net
DLL scritta in vb.net
Vi ringrazio per un eventuale risposta....
Per i paurosi il futuro resterà sconosciuto, per i deboli sarà irraggiungibile, per gli incoscienti offrirà nuove opportunità.
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
ven 19 mag 2006 - 17:11
Ti rispondo a patto che tu la smetta di citare vb6 (chi ha dato ha dato, chi ha avuto ha avuto ...) vb.net è altra cosa :).
Per caricare delle dll generate da un linguaggio net devi utilizzare la reflection.
Questo Esempio prende le form di un certo assembly (passato come stringa) e carica in una sortedlist i riferimenti alle forms incontrate all'interno:
Private Sub CaricaAssembly(ByVal pAssemblyName As String)
If System.IO.File.Exists(pAssemblyName) Then
Try
Dim asmb As Assembly = Assembly.LoadFrom(pAssemblyName)
For Each t As Type In asmb.GetTypes()
If t.BaseType.Equals(GetType(Form)) Then
Me.sortedForms.Add(t.[Namespace] + "." + t.Name, t)
End If
Next
Catch ex As Exception
MessageBox.Show("Impossibile caricare " + pAssemblyName + Environment.NewLine + ex.Message + Environment.NewLine + ex.StackTrace)
End Try
End If
End Sub
forno
Profilo
| Junior Member
71
messaggi | Data Invio:
dom 21 mag 2006 - 21:13
Ho segiuto la discussione e ho preso spunto per una mia applicazione. Però io ho messo i forms letti dalla dll in una listbox e vorrei che l'untente scegliesse quale aprire, azione che farà con un pulsante. Ma che codice posso dare al pulsante per aprire la form selezionata nella listbox?
Grazie
Enrico Fornasier
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
dom 21 mag 2006 - 23:24
Beh io ho realizzato qualche cosa di quel genere.
Fai una form principale, ci metti sopra una listview o una treeview o qualsiasi altro oggetto come bottoni o menuitems che possa memorizzare tags.
Puoi usare anche un'arraylist.
Poi apri le dll e "archivi" i riferimenti sull'oggetto che ti interessa (generato in runtime ovviamente).
Ho messo una cosa simile sul mio blog con un esempio di utilizzo degli attributi.
http://community.visual-basic.it/lucianob/archive/2005/02/27/6061.aspx
Naturalmente lo puoi fare anche senza utilizzare gli attributi personalizzati.
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 !