Návod: Vytváření objektů modelu COM pomocí jazyka Visual Basic

Při vytváření nových aplikací nebo komponent je nejlepší vytvořit sestavení rozhraní .NET Framework. Visual Basic ale také usnadňuje zveřejnění komponenty rozhraní .NET Framework modelu COM. Díky tomu můžete poskytovat nové komponenty pro starší sady aplikací, které vyžadují součásti modelu COM. Tento návod ukazuje, jak pomocí jazyka Visual Basic zpřístupnit objekty rozhraní .NET Framework jako objekty modelu COM, a to jak s šablonou třídy COM, tak bez této šablony.

Nejjednodušší způsob, jak vystavit objekty MODELU COM, je pomocí šablony třídy MODELU COM. Tato šablona vytvoří novou třídu a pak nakonfiguruje váš projekt tak, aby vygeneroval třídu s vrstvou interoperability jako objekt COM a zaregistroval ho v operačním systému.

Poznámka:

Ačkoli můžete také zveřejnit třídu vytvořenou v jazyce Visual Basic jako objekt MODELU COM pro použití nespravovaného kódu, nejedná se o skutečný objekt MODELU COM a nelze jej použít v jazyce Visual Basic. Další informace naleznete v tématu Interoperabilita modelu COM v aplikacích rozhraní .NET Framework.

Poznámka:

Váš počítač může v následujících pokynech zobrazovat odlišné názvy nebo umístění některých prvků uživatelského rozhraní sady Visual Studio. Tyto prvky jsou určeny edicí sady Visual Studio a použitým nastavením. Další informace najdete v tématu Přizpůsobení integrovaného vývojového prostředí.

Vytvoření objektu MODELU COM pomocí šablony třídy MODELU COM

  1. V nabídce Soubor otevřete nový projekt aplikace systému Windows kliknutím na příkaz Nový projekt.

  2. V dialogovém okně Nový projekt v poli Typy projektů zaškrtněte, zda je vybrán systém Windows. V seznamu Šablony vyberte knihovnu tříd a klepněte na tlačítko OK. Zobrazí se nový projekt.

  3. V nabídce Projekt vyberte Přidat novou položku. Zobrazí se dialogové okno Přidat novou položku .

  4. V seznamu Šablony vyberte tříduMODELU COM a potom klepněte na tlačítko Přidat. Visual Basic přidá novou třídu a nakonfiguruje nový projekt pro zprostředkovatele komunikace modelu COM.

  5. Do třídy COM přidejte kód, jako jsou vlastnosti, metody a události.

  6. V nabídce Sestavení vyberte Build ClassLibrary1. Visual Basic sestaví sestavení a zaregistruje objekt COM v operačním systému.

Vytváření objektů MODELU COM bez šablony třídy COM

Můžete také vytvořit třídu MODELU COM ručně namísto použití šablony třídy MODELU COM. Tento postup je užitečný, když pracujete z příkazového řádku nebo chcete mít větší kontrolu nad tím, jak jsou objekty MODELU COM definovány.

Nastavení projektu pro vygenerování objektu COM

  1. V nabídce Soubor otevřete nový projekt aplikace systému Windows kliknutím na tlačítko NewProject.

  2. V dialogovém okně Nový projekt v poli Typy projektů zaškrtněte, zda je vybrán systém Windows. V seznamu Šablony vyberte knihovnu tříd a klepněte na tlačítko OK. Zobrazí se nový projekt.

  3. V Průzkumník řešení klepněte pravým tlačítkem myši na projekt a potom klepněte na příkaz Vlastnosti. Zobrazí se Návrhář projektu.

  4. Klikněte na kartu Kompilace .

  5. Zaškrtněte políčko Zaregistrovat pro zprostředkovatele komunikace modelu COM.

Nastavení kódu ve vaší třídě pro vytvoření objektu COM

  1. V Průzkumník řešení poklikáním Class1.vb zobrazte jeho kód.

  2. Přejmenujte třídu na ComClass1.

  3. Přidejte do ComClass1souboru následující konstanty . Budou ukládat konstanty globálně jedinečného identifikátoru (GUID), které musí mít objekty COM.

    Public Const ClassId As String = ""
    Public Const InterfaceId As String = ""
    Public Const EventsId As String = ""
    
  4. V nabídce Nástroje klepněte na tlačítko Vytvořit identifikátor GUID. V dialogovém okně Vytvořit identifikátor GUID klepněte na tlačítko Formát registru a potom klepněte na tlačítko Kopírovat. Klikněte na Ukončit.

  5. Nahraďte prázdný řetězec identifikátorem ClassId GUID a odeberte úvodní a koncové složené závorky. Pokud je například identifikátor GUID poskytnutý guidgenem "{2C8B0AEE-02C9-486e-B809-C780A11530FE}" , měl by se váš kód zobrazit následujícím způsobem.

    Public Const ClassId As String = "2C8B0AEE-02C9-486e-B809-C780A11530FE"
    
  6. Opakujte předchozí kroky pro InterfaceId konstanty a EventsId stejně jako v následujícím příkladu.

    Public Const InterfaceId As String = "3D8B5BA4-FB8C-5ff8-8468-11BF6BD5CF91"
    Public Const EventsId As String = "2B691787-6ED7-401e-90A4-B3B9C0360E31"
    

    Poznámka:

    Ujistěte se, že identifikátory GUID jsou nové a jedinečné; jinak může být komponenta COM v konfliktu s jinými komponentami modelu COM.

  7. ComClass Přidejte atribut do ComClass1, zadejte identifikátory GUID pro ID třídy, ID rozhraní a ID událostí jako v následujícím příkladu:

    <ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)>
    Public Class ComClass1
    
  8. Třídy modelu COM musí mít konstruktor bez Public Sub New() parametrů nebo třída se neregistruje správně. Přidejte do třídy konstruktor bez parametrů:

    Public Sub New()
        MyBase.New()
    End Sub
    
  9. Přidejte do třídy vlastnosti, metody a události, které končí příkazem End Class . V nabídce Sestavení vyberte Sestavit řešení. Visual Basic sestaví sestavení a zaregistruje objekt COM v operačním systému.

    Poznámka:

    Objekty MODELU COM, které vygenerujete pomocí jazyka Visual Basic, nelze použít v jiných aplikacích jazyka Visual Basic, protože nejsou skutečnými objekty modelu COM. Při pokusu o přidání odkazů na takové objekty MODELU COM dojde k chybě. Podrobnosti naleznete v tématu Interoperabilita modelu COM v aplikacích rozhraní .NET Framework.

Viz také