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
Scegliere Aggiungi riferimento dal menu Progetto e quindi fare clic sulla scheda COM nella finestra di dialogo.
Selezionare il componente che si desidera utilizzare dall'elenco di oggetti COM.
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, importaINKEDLib
dello spazio dei nomi per gli oggetti a cui viene fatto riferimento nella libreria diMicrosoft InkEdit Control 1.0
.Class Sample 'Private s As IInkCursor End Class
Per creare un assembly di interoperabilità tramite Tlbimp
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.
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
- COM Interop
- Tlbimp.exe (utilità di importazione della libreria dei tipi)
- Tlbexp.exe (utilità di esportazione della libreria dei tipi)
- Procedura dettagliata: Implementazione dell'ereditarietà con gli oggetti COM
- Risoluzione dei problemi relativi all'interoperabilità
- Istruzione Imports (tipo e spazio dei nomi .NET)