|
|
| Auteur |
Bericht |
DieterVB
|
|
Onderwerp: references toevoegen
Geplaatst: 27 jul 2010 - 10:16
|
|
Senior Developer

Geregistreerd op: 13-mei-2009
Berichten: 110
Status: Offline
|
|
Hoe kun je references toevoegen op programmerende wijze?
Ik heb op het internet gezocht maar ik kon dit niet echt vinden.
Alvast bedankt |
|
|
| |
|
|
|
 |
ArComAr
|
|
Onderwerp: Re: references toevoegen
Geplaatst: 27 jul 2010 - 23:29
|
|
Moderator
Geregistreerd op: 24-jul-2006
Berichten: 3725
Woonplaats: Westerlo
Status: Offline
|
|
Wat bedoel je juist? Probeer je een soort module systeem te maken? Ik heb deze vraag ook ooit eens gesteld op het msdn forum, ik ga je eventjes het antwoord zoeken
EDIT>
Kennelijk heb ik toch geen geweldige feedback gekregen toen. De feedback dat ik gekregen heb ging over add-ins voor visual studio en internet explorer. Dat brengt mij bij de vraag of het wel mogelijk is om die logica te implementeren.
http://social.msdn.microsoft.com/Forums ... e3240d185a
EDIT2>
Dit lijkt wel een toffe link. is wel in C#, maar moet mogelijk zijn om dit om te zetten naar vb.net |
|
|
| |
|
|
|
 |
Jark
|
|
Onderwerp: Re: references toevoegen
Geplaatst: 28 jul 2010 - 07:22
|
|
Senior Developer
Geregistreerd op: 29-sep-2009
Berichten: 180
Status: Offline
|
|
Hallo,
Bedoel je het dynamisch inladen van assemblies?
Bekijk dan eens deze link: http://msdn.microsoft.com/en-us/library/xbe1wdx9.aspx.
Met de Assembly.Load kun je een nieuwe assembly inladen in je programma terwijl het draait. Via reflectie kun je vervolgens de methodes uitvoeren/properties opvragen/klassen instantieren, etc.
Mvg,
Jark |
|
|
| |
|
|
|
 |
DieterVB
|
|
Onderwerp: Re: references toevoegen
Geplaatst: 28 jul 2010 - 14:38
|
|
Senior Developer

Geregistreerd op: 13-mei-2009
Berichten: 110
Status: Offline
|
|
Als je een applicatie hebt kan je bij My Project, references toevoegen om bijvoorbeeld een dll bestand te laden. En ik vroeg me af of dit ook via programmeren kan.
Mvg,
Dieter |
|
|
| |
|
|
|
 |
Vozzie
|
|
Onderwerp: Re: references toevoegen
Geplaatst: 28 jul 2010 - 15:34
|
|
Erelid

Geregistreerd op: 11-mei-2009
Berichten: 958
Status: Offline
|
|
Hallo,
Ja, het kan, dus zoals Jark aanhaalde...
- Eenvoudig is het gebruik van Activator.CreateInstance. En de Unwrap Method van een ObjectHandle...
Visual Basic code: Interface ICoolAppPlugin
Sub DoSomething()
End Interface
Visual Basic code: Sub LoadPlugin() Dim hObj As System.Runtime.Remoting.ObjectHandle hObj = Activator.CreateInstanceFrom("C:\MyDll.dll", "MyNameSpaceName.MyClassName") Dim myPlugin As ICoolAppPlugin = DirectCast(hObj.Unwrap(), ICoolAppPlugin) myPlugin.DoSomething() End Sub
Visual Basic code: Class MyClassName Implements ICoolAppPlugin
Public Sub DoSomething() Implements ICoolAppPlugin.DoSomething MsgBox("i did it...") End Sub
End Class
- Wil je de geladen dll's terug kunnen unloaden, dan moeten de types van MarshalByRef overerven en moet je ze laden in een AppDomain...
Visual Basic code: Class MyClassName Inherits MarshalByRefObject Implements ICoolAppPlugin
Public Sub DoSomething() Implements ICoolAppPlugin.DoSomething MsgBox("i did it...") End Sub
End Class
Load/Unload zoiets(niet getest)
Visual Basic code: Private _ad As AppDomain
Sub LoadPlugin() _ad = AppDomain.CreateDomain("#TheDomain") Dim hObj As System.Runtime.Remoting.ObjectHandle hObj = Activator.CreateInstanceFrom(_ad, "C:\mydll.dll", "MyNameSpaceName.MyClassName") Dim myPlugin As ICoolAppPlugin = DirectCast(hObj.Unwrap(), ICoolAppPlugin) myPlugin.DoSomething() End Sub Sub FreePlugin() AppDomain.Unload(_ad) End Sub
Groeten |
_________________ con\con
Stappen, keuzes en herhaling combineren is programmeren.
|
| |
|
|
|
 |
DieterVB
|
|
Onderwerp: Re: references toevoegen
Geplaatst: 31 jul 2010 - 20:27
|
|
Senior Developer

Geregistreerd op: 13-mei-2009
Berichten: 110
Status: Offline
|
|
Hartelijk dank!  |
|
|
| |
|
|
|
 |
|
|
|
|