Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212

    [VB.NET] Creare un oggetto con istanza a dll esterna

    siete riusciti oppure avete visto come si potrebbe creare un oggetto facendo riferimento ad una dll esterna, senza quindi includere il riferimento a design-time?

    In pratica sto cercando di creare una dll che contenga delle funzioni e poi vorrei realizzare un progetto che mi crei un oggetto tipo:
    codice:
    Dim MioObj as Object '****
    MioObj.Function1
    MioObj.Function2
    ...
    MioObj.FunctionN
    Ovviamente ho scritto object generico perchè il mio scopo è quello di riuscire ad ottenere in fase di dimensionamento, oppure successivamente al caricamento dell'assembly esterno, il tipo della classe Dll esterna a cui faccio riferimento.

    Per adesso ci sto lavorando su, se qualcuno ha fatto già qualche prova che potrebbe aiutarmi (magari risparmiando tempo con test inutili) lo ringrazio vivamente



  2. #2
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    allora, sono riuscito a richiamare un metodo della dll, però ancora non riesco ad avere la struttura (per visualizzare i metodi e le proprietà digitanto il . dopo il nome dell'oggetto istanziato)
    ecco come:

    supponiamo di avere una Dll che espone un metodo (ConvertToUp) che accetta una stringa e restituisce la stessa convertita in caratteri maiuscoli.
    Posso creare un progetto che dichiari un oggetto per usare la dll in questione senza specificare riferimenti o aggiungere imports a design-time ma soltanto creado una istanza a run-time così:
    codice:
        Private Sub CaricaDll()
            Dim myAssembly As System.Reflection.Assembly
            myAssembly = System.Reflection.Assembly.LoadFrom(PercorsoCompletoDll\MiaDll.dll)
            Me.externalDll = myAssembly.CreateInstance("MiaDll.NomeDellaClasseCheContieneIlMetodo", True)
        End Sub
    
        Dim externalDll As New Object()
        Private Sub ChiamaMetodoDll()
            MsgBox(Me.externalDll.ConvertToUp("questa stringa era minuscola"))
        End Sub

    Purtroppo non riesco a visualizzare il metodo ConvertToUp appena scrivo il punto, e poi non mi piace che devo sapere il nome della Classe creata all'interno del Progetto MiaDll.

    cmq, meglio di niente

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.