Procedura: fare riferimento a oggetti COM da Visual Basic

In Visual Basic, l'aggiunta di riferimenti a oggetti COM con librerie dei tipi richiede la creazione di un assembly di interoperabilità per la libreria COM. I riferimenti ai membri dell'oggetto COM vengono indirizzati all'assembly di interoperabilità e quindi inoltrati all'oggetto COM effettivo. Le risposte dall'oggetto COM vengono instradate all'assembly di interoperabilità e inoltrate all'applicazione .NET Framework.

È possibile fare riferimento a un oggetto COM senza usare un assembly di interoperabilità incorporando le informazioni sul tipo per l'oggetto COM in un assembly .NET. Per incorporare informazioni sul tipo, impostare la proprietà Embed Interop Types su True per il riferimento all'oggetto COM. Se si esegue la compilazione tramite il compilatore della riga di comando, usare l'opzione /link per fare riferimento alla libreria COM. Per altre informazioni, vedere -link (Visual Basic).

Visual Basic crea automaticamente assembly di interoperabilità quando si aggiunge un riferimento a una libreria dei tipi dall'ambiente di sviluppo integrato (IDE). Quando si lavora dalla riga di comando, è possibile usare l'utilità Tlbimp per creare manualmente assembly di interoperabilità.

Per aggiungere riferimenti a oggetti COM

  1. Scegliere Aggiungi riferimento dal menu Progetto e quindi fare clic sulla scheda COM nella finestra di dialogo.

  2. Selezionare il componente che si desidera utilizzare dall'elenco di oggetti COM.

  3. Per semplificare l'accesso all'assembly di interoperabilità, aggiungere un'istruzione Imports all'inizio della classe o del modulo in cui si userà l'oggetto COM. L'esempio di codice seguente, ad esempio, importa INKEDLib dello spazio dei nomi per gli oggetti a cui viene fatto riferimento nella libreria di Microsoft InkEdit Control 1.0.

    Imports INKEDLib
    
    Class Sample
        Private s As IInkCursor
    
    End Class
    

Per creare un assembly di interoperabilità tramite Tlbimp

  1. Aggiungere il percorso di Tlbimp al percorso di ricerca, se non fa già parte del percorso di ricerca e non si è attualmente nella directory in cui si trova.

  2. Chiamare Tlbimp da un prompt dei comandi, fornendo le informazioni seguenti:

    • Nome e percorso della DLL che contiene la libreria dei tipi

    • Nome e posizione dello spazio dei nomi in cui inserire le informazioni

    • Nome e posizione dell'assembly di interoperabilità di destinazione

    Nel codice seguente ne viene illustrato un esempio:

    Tlbimp test3.dll /out:NameSpace1 /out:Interop1.dll  
    

    È possibile usare Tlbimp per creare assembly di interoperabilità per le librerie dei tipi, anche per gli oggetti COM non registrati. Tuttavia, gli oggetti COM a cui fanno riferimento gli assembly di interoperabilità devono essere registrati correttamente nel computer in cui devono essere usati. È possibile registrare un oggetto COM usando l'utilità Regsvr32 inclusa nel sistema operativo Windows.

Vedi anche