Applicazione con plug-ins in VB 2005

giovedì 19 gennaio 2006 - 15.25

forno Profilo | Junior Member

Ciao a tutti. Ho quasi terminato la mia applicazione, ora vorrei però che si potessero mettere in una cartella nella root del programma delle dll che al caricamento del form principale vengano riconosciute e facciano certe cose.
Vorrei sapere come fare per far caricare al programma le dll che trova e cosa devo scrivere nelle classi compilate poi come dll. Potete fari qualche esempio?

Grazie!

Cteniza Profilo | Guru

Puoi mettere un file xml che contiene i nomi delle dll da caricare tramite la reflection.
esempio:
Dim myAsm As Assembly = System.Reflection.Assembly.LoadFile(myfile)
Poi puoi scorrere sui tipi / attributi contenuti, identificare gli oggetti che ti servono.



forno Profilo | Junior Member

Più che altro è che non so quali saranno i nomi dei file dll da caricare. Vorrei che il programma ricavasse automaticamente le dll, e mi restituisse una stringa (da settare nel file della dll) contentente un nome identificativo, e poi le funzioni che la dll contiene.
Magari puoi farmi un esempio di codice?

Grazie ciao

Enrico Fornasier

Cteniza Profilo | Guru

Io ho utilizzato un metodo diverso in una occasione.
Ho messo un attributo personalizzato sulle classi/forms che mi interessavano e poi l'ho recuperato tramite la reflection.
Se vuoi un esempio di codice visita il mio blog:
http://community.visual-basic.it/lucianob/archive/2005/02/27/6061.aspx
Gli assembly li puoi caricare semplicemente dando una scorsa alla cartella che ti interessa e poi caricandoli.
Per ciascun di questi poi devi ciclare sui tipi.
Detto così sembra una cosa molto facile ma ti assicuro che così non è :((.




forno Profilo | Junior Member

Ok, cerco di capirici un po' di più dal blog

Enrico Fornasier

forno Profilo | Junior Member

Nel codice che c'è nel blog ci sono alcune cose poco chiare, che non ho capito molto bene... Il codice va tutto nello stesso file? O devo dividerlo? Se si, come?

Enrico Fornasier

Cteniza Profilo | Guru

Era solo un esempio per dare un'idea se fai un lavoro di copia incolla solo allora parti con il piede sbagliato.
Per rispondere alla tua domanda, si tratta di cose estratte da classi diverse.
Immagina una struttura:
- una classe con il gestore degli attributi che eredita da attribute
- una classe per ogni form che utilizza gli atributi per decorare la classe
- un programma principale che si spupazza le dll con la reflection legge gli attributi identifica le forms e poi ne memorizza il tipo in un altro oggetto come ad esempio una listview o un'arraylist


forno Profilo | Junior Member

Ho trovato in parte la soluzione che mi serviva. Utilizzerò una dll contenente alcuni usercontrol. Ora vorrei capire come la posso caricare in runtime e inserire il nome dei vari usercontrol contenuti in una listbox.

Grazie

Enrico Fornasier
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