Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Quando si creano nuove applicazioni o componenti, è consigliabile creare assembly .NET Framework. Tuttavia, Visual Basic semplifica anche l'esposizione di un componente .NET Framework a COM. In questo modo è possibile fornire nuovi componenti per i gruppi di applicazioni precedenti che richiedono componenti COM. Questa procedura dettagliata illustra come usare Visual Basic per esporre oggetti .NET Framework come oggetti COM, sia con che senza il modello di classe COM.
Il modo più semplice per esporre gli oggetti COM consiste nell'usare il modello di classe COM. Questo modello crea una nuova classe, quindi configura il progetto per generare la classe con un livello di interoperabilità come oggetto COM e registrarlo con il sistema operativo.
Annotazioni
Sebbene sia anche possibile esporre una classe creata in Visual Basic come oggetto COM per il codice non gestito da utilizzare, non è un vero oggetto COM e non può essere utilizzato da Visual Basic. Per altre informazioni, vedere Interoperabilità COM nelle applicazioni .NET Framework.
Annotazioni
Il computer potrebbe visualizzare nomi o percorsi diversi per alcuni degli elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. L'edizione di Visual Studio disponibile e le impostazioni usate determinano questi elementi. Per altre informazioni, vedere Personalizzazione dell'IDE.
Per creare un oggetto COM utilizzando il modello di classe COM
Aprire un nuovo progetto applicazione Windows dal menu File facendo clic su Nuovo progetto.
Nella finestra di dialogo Nuovo progetto nel campo Tipi di progetto selezionare Windows. Selezionare Libreria di classi dall'elenco Modelli e quindi fare clic su OK. Viene visualizzato il nuovo progetto.
Selezionare Aggiungi nuovo elemento dal menu Progetto . Verrà visualizzata la finestra di dialogo Aggiungi nuovo elemento .
Selezionare Classe COM dall'elenco Modelli e quindi fare clic su Aggiungi. Visual Basic aggiunge una nuova classe e configura il nuovo progetto per l'interoperabilità COM.
Aggiungere codice come proprietà, metodi ed eventi alla classe COM.
Selezionare Compila ClassLibrary1 dal menu Build. Visual Basic compila l'assembly e registra l'oggetto COM con il sistema operativo.
Creazione di oggetti COM senza il modello di classe COM
È anche possibile creare manualmente una classe COM anziché usare il modello di classe COM. Questa procedura è utile quando si lavora dalla riga di comando o quando si desidera un maggiore controllo sulla modalità di definizione degli oggetti COM.
Per configurare il progetto per generare un oggetto COM
Aprire un nuovo progetto applicazione Windows dal menu File facendo clic su NuovoProgetto.
Nella finestra di dialogo Nuovo progetto nel campo Tipi di progetto selezionare Windows. Selezionare Libreria di classi dall'elenco Modelli e quindi fare clic su OK. Viene visualizzato il nuovo progetto.
In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto e quindi scegliere Proprietà. Viene visualizzato il Progettista del Progetto.
Fare clic sulla scheda Compilazione.
Selezionare la casella di controllo Registra per interoperabilità COM .
Per configurare il codice nella classe per creare un oggetto COM
In Esplora soluzioni fare doppio clic su Class1.vb per visualizzarne il codice.
Rinominare la classe in
ComClass1.Aggiungere le costanti seguenti a
ComClass1. Archivieranno le costanti GLOBAL Unique Identifier (GUID) necessarie per gli oggetti COM.Public Const ClassId As String = "" Public Const InterfaceId As String = "" Public Const EventsId As String = ""Scegliere Crea GUID dal menu Strumenti. Nella finestra di dialogo Crea GUID fare clic su Formato registro e quindi su Copia. Fare clic su Esci.
Sostituire la stringa vuota per
ClassIdcon il GUID, rimuovendo le parentesi graffe iniziali e finali. Ad esempio, se il GUID fornito da Guidgen è"{2C8B0AEE-02C9-486e-B809-C780A11530FE}", il codice dovrebbe essere visualizzato come segue.Public Const ClassId As String = "2C8B0AEE-02C9-486e-B809-C780A11530FE"Ripetere i passaggi precedenti per le
InterfaceIdcostanti eEventsId, come nell'esempio seguente.Public Const InterfaceId As String = "3D8B5BA4-FB8C-5ff8-8468-11BF6BD5CF91" Public Const EventsId As String = "2B691787-6ED7-401e-90A4-B3B9C0360E31"Annotazioni
Assicurarsi che i GUID siano nuovi e univoci; in caso contrario, il componente COM potrebbe entrare in conflitto con altri componenti COM.
Aggiungere l'attributo
ComClassaComClass1, specificando i GUID per ID classe, ID interfaccia ed ID eventi come nell'esempio seguente:<ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)> Public Class ComClass1Le classi COM devono avere un costruttore senza
Public Sub New()parametri oppure la classe non verrà registrata correttamente. Aggiungere un costruttore senza parametri alla classe :Public Sub New() MyBase.New() End SubAggiungere proprietà, metodi ed eventi alla classe, terminando con un'istruzione
End Class. Selezionare Compila soluzione dal menu Compila . Visual Basic compila l'assembly e registra l'oggetto COM con il sistema operativo.Annotazioni
Gli oggetti COM generati con Visual Basic non possono essere utilizzati da altre applicazioni Visual Basic perché non sono oggetti COM reali. I tentativi di aggiungere riferimenti a tali oggetti COM genereranno un errore. Per informazioni dettagliate, vedere Interoperabilità COM nelle applicazioni .NET Framework.