Procedura: Oggetti di riferimento 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 indirizzati 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 indirizzate 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 usare un assembly di interoperabilità per incorporare 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 il Embed Interop Types proprietà 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 esegue la compilazione usando il compilatore della riga di comando, usare il /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 altre informazioni, vedere /link (Visual Basic).For more information, see /link (Visual Basic).

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

Per aggiungere riferimenti agli oggetti COMTo add references to COM objects

  1. Nel progetto menu, scegliere Aggiungi riferimento e quindi fare clic sui COM scheda nella finestra di dialogo.On the Project menu, choose Add Reference and then click the COM tab in the dialog box.

  2. Selezionare il componente da usare 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 modulo in cui si userà 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, il codice seguente importa lo spazio dei nomi INKEDLib per gli oggetti a cui fa riferimento il 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à parte del 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. Tlbimp chiamata da un prompt dei comandi, fornendo le informazioni seguenti:Call Tlbimp from a command prompt, providing the following information:

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

    • Nome e il 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à.Name 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à di 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 fa riferimento l'assembly di interoperabilità devono essere registrati correttamente nel computer in cui sono utilizzabili.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 tramite l'utilità Regsvr32 incluso con il sistema operativo Windows.You can register a COM object by using the Regsvr32 utility included with the Windows operating system.

Vedere ancheSee also