Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Új alkalmazások vagy összetevők létrehozásakor a legjobb, ha .NET-keretrendszer-szerelvényeket hoz létre. A Visual Basic azonban megkönnyíti a .NET-keretrendszer összetevőinek a COM-nak való megjelenítését is. Ez lehetővé teszi, hogy új összetevőket biztosítson a COM-összetevőket igénylő korábbi alkalmazáscsomagokhoz. Ez az útmutató bemutatja, hogyan teheti elérhetővé a .NET Framework-objektumokat COM-objektumként a Visual Basic használatával a COM-osztálysablonnal és anélkül is.
A COM-objektumok közzétételének legegyszerűbb módja a COM-osztálysablon használata. Ez a sablon létrehoz egy új osztályt, majd konfigurálja a projektet úgy, hogy com-objektumként egy együttműködési réteggel hozza létre az osztályt, majd regisztrálja azt az operációs rendszerben.
Megjegyzés:
Bár a Visual Basicben com-objektumként létrehozott osztályt is közzétehet nem felügyelt kód használatához, ez nem valódi COM-objektum, és a Visual Basic nem tudja használni. További információ: COM-együttműködés a .NET-keretrendszeralkalmazásokban.
Megjegyzés:
Előfordulhat, hogy a számítógép különböző neveket vagy helyeket jelenít meg a Visual Studio felhasználói felületének egyes elemeihez az alábbi utasításokban. Ezeket az elemeket a Visual Studio-kiadás és a használt beállítások határozzák meg. További információért lásd: A fejlesztői környezet személyre szabása.
COM-objektum létrehozása a COM-osztálysablon használatával
Nyisson meg egy új Windows-alkalmazásprojektet a Fájlmenüből az Új projekt elemre kattintva.
A Projekttípusok mező Új projekt párbeszédpaneljén ellenőrizze, hogy a Windows ki van-e jelölve. Válassza az Osztálytár lehetőséget a Sablonok listában, majd kattintson az OK gombra. Megjelenik az új projekt.
Válassza az Új elem hozzáadása lehetőséget a Projekt menüben. Megjelenik az Új elem hozzáadása párbeszédpanel.
Válassza a COM osztályt a Sablonok listában, majd kattintson a Hozzáadás gombra. A Visual Basic új osztályt ad hozzá, és konfigurálja az új projektet a COM-interophoz.
Adjon hozzá kódot, például tulajdonságokat, metódusokat és eseményeket a COM-osztályhoz.
Válassza a Build menü Build ClassLibrary1 elemét. A Visual Basic létrehozza a szerelvényt, és regisztrálja a COM-objektumot az operációs rendszerrel.
COM-objektumok létrehozása COM-osztálysablon nélkül
Com-osztályt manuálisan is létrehozhat a COM-osztálysablon használata helyett. Ez az eljárás akkor hasznos, ha a parancssorból dolgozik, vagy ha nagyobb mértékben szeretné szabályozni a COM-objektumok definiálásának módját.
A projekt beállítása a COM-objektum létrehozásához
Nyisson meg egy új Windows-alkalmazásprojektet a Fájl menüből a NewProject elemre kattintva.
A Projekttípusok mező Új projekt párbeszédpaneljén ellenőrizze, hogy a Windows ki van-e jelölve. Válassza az Osztálytár lehetőséget a Sablonok listában, majd kattintson az OK gombra. Megjelenik az új projekt.
A Megoldáskezelőben kattintson a jobb gombbal a projektre, majd kattintson a Tulajdonságok parancsra. Megjelenik a Projekttervező .
Kattintson a Kompatibilizálás fülre.
Jelölje be a Regisztráció a COM Interop-hoz jelölőnégyzetet.
A kód beállítása az osztályodban, hogy létrehozz egy COM-objektumot
A Megoldáskezelőben kattintson duplán a Class1.vb a kód megjelenítéséhez.
Nevezze át az osztályt a következőre
ComClass1: .Adja hozzá a következő állandókat a következőhöz
ComClass1: A COM-objektumok számára szükséges globálisan egyedi azonosító (GUID) állandókat tárolják.Public Const ClassId As String = "" Public Const InterfaceId As String = "" Public Const EventsId As String = ""Az Eszközök menüben kattintson a Guid létrehozása gombra. A GUID létrehozása párbeszédpanelen kattintson a Beállításjegyzék formátuma , majd a Másolás gombra. Kattintson a Kilépés gombra.
Cserélje le az üres karakterláncot a
ClassIdGUID-ra, eltávolítva a zárójelek elejét és végét. Ha például a Guidgen által megadott GUID"{2C8B0AEE-02C9-486e-B809-C780A11530FE}", akkor a kódnak a következőképpen kell megjelennie.Public Const ClassId As String = "2C8B0AEE-02C9-486e-B809-C780A11530FE"Ismételje meg az előző lépéseket az
InterfaceIdésEventsIdállandók esetében, ahogyan az alábbi példában is látható.Public Const InterfaceId As String = "3D8B5BA4-FB8C-5ff8-8468-11BF6BD5CF91" Public Const EventsId As String = "2B691787-6ED7-401e-90A4-B3B9C0360E31"Megjegyzés:
Győződjön meg arról, hogy a GUID-ok újak és egyediek; ellenkező esetben a COM-összetevő ütközhet más COM-összetevőkkel.
Adja hozzá a
ComClassattribútumot aComClass1-hez, és adja meg a következő példában látható módon a Class ID, Interface ID és Events ID GUID-jait:<ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)> Public Class ComClass1A COM-osztályoknak paraméter nélküli
Public Sub New()konstruktorsal kell rendelkezniük, vagy az osztály nem regisztrál megfelelően. Adjon hozzá egy paraméter nélküli konstruktort az osztályhoz:Public Sub New() MyBase.New() End SubAdjon hozzá tulajdonságokat, metódusokat és eseményeket az osztályhoz, és zárja be egy
End Classutasítással. Válassza a Build menü Build Solution elemét. A Visual Basic létrehozza a szerelvényt, és regisztrálja a COM-objektumot az operációs rendszerrel.Megjegyzés:
A Visual Basic használatával létrehozott COM-objektumokat más Visual Basic-alkalmazások nem használhatják, mert nem valódi COM-objektumok. Az ilyen COM-objektumokra mutató hivatkozások hozzáadására tett kísérletek hibát okoznak. További részletekért lásd: COM-együttműködés a .NET-keretrendszeralkalmazásokban.