Sdílet prostřednictvím


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 zpřístupně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:

Počítač může v následujících pokynech zobrazit různé názvy nebo umístění některých prvků uživatelského rozhraní sady Visual Studio. Edice sady Visual Studio, kterou máte, a nastavení, která používáte, určují tyto prvky. Další informace najdete v tématu Přizpůsobeníintegrovaného vývojového prostředí (IDE).

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 klikněte na 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 COM třída a potom klepněte na tlačítko Přidat. Visual Basic přidá novou třídu a nakonfiguruje nový projekt pro práci s technologií 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 klikněte na OK. Zobrazí se nový projekt.

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

  4. Klikněte na kartu Zkompilovat.

  5. Vyberte zaškrtávací políčko Registrovat pro COM.

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

  1. Ve Průzkumníku řešení poklikejte na Class1.vb a zobrazí se 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 Vytvořit GUID. V dialogovém okně Vytvořit identifikátor GUID klepněte na Formát registru a potom klepněte na 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 konstanty InterfaceId a EventsId podle následujícího 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í zvolte 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é