Procedura: fare riferimento a oggetti COM da Visual BasicHow to: Reference COM Objects from 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.In Visual Basic, adding references to COM objects that have type libraries requires the creation of an interop assembly for the COM library. I riferimenti ai membri dell'oggetto COM vengono instradati all'assembly di interoperabilità e quindi inoltrati all'oggetto COM effettivo.References to the members of the COM object are routed to the interop assembly and then forwarded to the actual COM object. Le risposte dall'oggetto COM vengono instradate all'assembly di interoperabilità e inoltrate all'applicazione .NET Framework.Responses from the COM object are routed to the interop assembly and forwarded to your .NET Framework application.

È possibile fare riferimento a un oggetto COM senza utilizzare un assembly di interoperabilità incorporando le informazioni sul tipo per l'oggetto COM in un assembly .NET.You can reference a COM object without using an interop assembly by embedding the type information for the COM object in a .NET assembly. Per incorporare le informazioni sul tipo, impostare la Embed Interop Types proprietà su True per il riferimento all'oggetto com.To embed type information, set the Embed Interop Types property to True for the reference to the COM object. Se si esegue la compilazione utilizzando il compilatore da riga di comando, utilizzare l' /link opzione per fare riferimento alla libreria com.If you are compiling by using the command-line compiler, use the /link option to reference the COM library. Per ulteriori informazioni, vedere -link (Visual Basic).For more information, see -link (Visual Basic).

Visual Basic crea automaticamente assembly di interoperabilità quando si aggiunge un riferimento a una libreria dei tipi dall'Integrated Development Environment (IDE).Visual Basic automatically creates interop assemblies when you add a reference to a type library from the integrated development environment (IDE). Quando si utilizza la riga di comando, è possibile utilizzare l'utilità Tlbimp per creare manualmente assembly di interoperabilità.When working from the command line, you can use the Tlbimp utility to manually create interop assemblies.

Per aggiungere riferimenti a oggetti COMTo add references to COM objects

  1. Scegliere Aggiungi riferimento dal menu progetto , quindi fare clic sulla scheda com nella finestra di dialogo.On the Project menu, choose Add Reference and then click the COM tab in the dialog box.

  2. Consente di selezionare il componente che si desidera utilizzare dall'elenco di oggetti COM.Select the component you want to use from the list of COM objects.

  3. Per semplificare l'accesso all'assembly di interoperabilità, aggiungere un' Imports istruzione all'inizio della classe o del modulo in cui si utilizzerà l'oggetto com.To simplify access to the interop assembly, add an Imports statement to the top of the class or module in which you will use the COM object. Ad esempio, nell'esempio di codice seguente viene importato lo spazio dei nomi INKEDLib per gli oggetti a cui si fa riferimento nella Microsoft InkEdit Control 1.0 libreria.For example, the following code example imports the namespace INKEDLib for objects referenced in the Microsoft InkEdit Control 1.0 library.

    Imports INKEDLib
    
    Class Sample
        Private s As IInkCursor
    
    End Class
    

Per creare un assembly di interoperabilità tramite TlbimpTo create an interop assembly using Tlbimp

  1. Aggiungere il percorso di Tlbimp al percorso di ricerca, se non è già incluso nel percorso di ricerca e non si è attualmente nella directory in cui si trova.Add the location of Tlbimp to the search path, if it is not already part of the search path and you are not currently in the directory where it is located.

  2. Chiamare Tlbimp da un prompt dei comandi, fornendo le informazioni seguenti:Call Tlbimp from a command prompt, providing the following information:

    • Nome e percorso della DLL contenente la libreria dei tipiName and location of the DLL that contains the type library

    • Nome e percorso dello spazio dei nomi in cui devono essere inserite le informazioniName and location of the namespace where the information should be placed

    • Nome e percorso dell'assembly di interoperabilità di destinazioneName and location of the target interop assembly

    Nel codice seguente ne viene illustrato un esempio:The following code provides an example:

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

    È possibile utilizzare Tlbimp per creare assembly di interoperabilità per le librerie dei tipi, anche per gli oggetti COM non registrati.You can use Tlbimp to create interop assemblies for type libraries, even for unregistered COM objects. Tuttavia, gli oggetti COM a cui fanno riferimento gli assembly di interoperabilità devono essere registrati correttamente nel computer in cui devono essere utilizzati.However, the COM objects referred to by interop assemblies must be properly registered on the computer where they are to be used. È possibile registrare un oggetto COM utilizzando l'utilità Regsvr32 inclusa nel sistema operativo Windows.You can register a COM object by using the Regsvr32 utility included with the Windows operating system.

Vedere ancheSee also