Megosztás a következőn keresztül:


Útmutató: COM-objektumok létrehozása a Visual Basic használatával

Ú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

  1. Nyisson meg egy új Windows-alkalmazásprojektet a Fájlmenüből az Új projekt elemre kattintva.

  2. 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.

  3. 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.

  4. 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.

  5. Adjon hozzá kódot, például tulajdonságokat, metódusokat és eseményeket a COM-osztályhoz.

  6. 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

  1. Nyisson meg egy új Windows-alkalmazásprojektet a Fájl menüből a NewProject elemre kattintva.

  2. 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.

  3. A Megoldáskezelőben kattintson a jobb gombbal a projektre, majd kattintson a Tulajdonságok parancsra. Megjelenik a Projekttervező .

  4. Kattintson a Kompatibilizálás fülre.

  5. 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

  1. A Megoldáskezelőben kattintson duplán a Class1.vb a kód megjelenítéséhez.

  2. Nevezze át az osztályt a következőre ComClass1: .

  3. 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 = ""
    
  4. 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.

  5. Cserélje le az üres karakterláncot a ClassId GUID-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"
    
  6. Ismételje meg az előző lépéseket az InterfaceId és EventsId á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.

  7. Adja hozzá a ComClass attribútumot a ComClass1-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 ComClass1
    
  8. A 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 Sub
    
  9. Adjon hozzá tulajdonságokat, metódusokat és eseményeket az osztályhoz, és zárja be egy End Class utasí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.

Lásd még