VBiB/ACCB.net - Visual Basic in België | .net Ineta User Group  
Hoofdmenu

Advertenties

Het Computer Winkeltje HCW


Evenementen

Forum

Plaats nieuw bericht   Plaats Reactie
Vorige onderwerp Printervriendelijke versie Log in om je privé berichten te bekijken Volgende onderwerp
Auteur Bericht
DieterVBOffline
Onderwerp: references toevoegen  BerichtGeplaatst: 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
 
 Bekijk gebruikers profiel Stuur privé bericht  
Reageer met quote Naar boven
ArComArOffline
Onderwerp: Re: references toevoegen  BerichtGeplaatst: 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
 
 Bekijk gebruikers profiel Stuur privé bericht  
Reageer met quote Naar boven
JarkOffline
Onderwerp: Re: references toevoegen  BerichtGeplaatst: 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
 
 Bekijk gebruikers profiel Stuur privé bericht Bekijk de homepage  
Reageer met quote Naar boven
DieterVBOffline
Onderwerp: Re: references toevoegen  BerichtGeplaatst: 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
 
 Bekijk gebruikers profiel Stuur privé bericht  
Reageer met quote Naar boven
VozzieOffline
Onderwerp: Re: references toevoegen  BerichtGeplaatst: 28 jul 2010 - 15:34
Erelid


Geregistreerd op: 11-mei-2009
Berichten: 958

Status: Offline
Hallo,

Ja, het kan, dus zoals Jark aanhaalde...

  1. 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
        ' MyNameSpaceName is in VB.Net standaard de naam van het project. Je kan deze bekijken veranderen onder project options...
        hObj = Activator.CreateInstanceFrom("C:\MyDll.dll", "MyNameSpaceName.MyClassName")
        ' Gebruik een interface om methods/properties etc opvoorhand te bepalen,...
        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


  2. 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()
        ' maak een appdomain aan
        _ad = AppDomain.CreateDomain("#TheDomain")
        Dim hObj As System.Runtime.Remoting.ObjectHandle
        ' MyNameSpaceName is in VB.Net standaard de naam van het project. Je kan deze bekijken veranderen onder project options...
        hObj = Activator.CreateInstanceFrom(_ad, "C:\mydll.dll", "MyNameSpaceName.MyClassName")
        ' Gebruik een interface om methods/properties etc opvoorhand te bepalen,...
        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.
 
 Bekijk gebruikers profiel Stuur privé bericht Bekijk de homepage  
Reageer met quote Naar boven
DieterVBOffline
Onderwerp: Re: references toevoegen  BerichtGeplaatst: 31 jul 2010 - 20:27
Senior Developer


Geregistreerd op: 13-mei-2009
Berichten: 110

Status: Offline
Hartelijk dank! Smile
 
 Bekijk gebruikers profiel Stuur privé bericht  
Reageer met quote Naar boven
Berichten van afgelopen:     
Ga naar:  
Tijden zijn in GMT + 1 uur
Plaats nieuw bericht   Plaats Reactie
Vorige onderwerp Printervriendelijke versie Log in om je privé berichten te bekijken Volgende onderwerp
PNphpBB2 © 2003-2007 
 

 
Postnuke - ADODB Database - PHP 4/5 - pnPhpBB2 - Hosting bij Openminds
Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno 21-12-2000)
vbib.be gestart op 1/03/06 (extra vanaf 1/09: vbnet.be en vbdotnet.be)
VBiB is gerelateerd met wintips.be

Nieuwsbrief RSS Feed: backend.php