Návod: Vytváření objektů modelu COM pomocí jazyka Visual Basic
Při vytváření nových aplikací nebo komponent je nejlepší vytvořit .NET Framework sestavení. Visual Basic ale také usnadňuje vystavení komponenty .NET Framework modelu COM. To umožňuje poskytovat nové součásti pro starší sady aplikací, které vyžadují součásti modelu COM. Tento názorný postup ukazuje použití Visual Basic k .NET Framework objektům modelu COM, a to s šablonou třídy COM i bez ní.
Nejjednodušší způsob, jak vystavit objekty MODELU COM, je pomocí šablony třídy modelu COM. Tato šablona vytvoří novou třídu a pak nakonfiguruje projekt tak, aby vygeneroval třídu s vrstvou interoperability jako objekt com a zaregistroval ji v operačním systému.
Poznámka
I když lze také zveřejnit třídu vytvořenou v nástroji Visual Basic jako objekt COM pro použití nespravovaného kódu, není to skutečný objekt COM a nelze jej Visual Basic. Další informace najdete v tématu Interoperabilita modelu COM v .NET Framework aplikacích.
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í (IDE).
Vytvoření objektu COM pomocí šablony třídy modelu COM
V nabídce Windows otevřete nový projekt aplikace, a to kliknutím na Nový Project.
V dialogovém okně Project nový název pod polem Project Typy polí zkontrolujte, že je Windows vybraná možnost. V seznamu Šablony vyberte Knihovna tříd a pak klikněte na OK. Zobrazí se nový projekt.
V nabídce Project přidat novou položku. Zobrazí se dialogové okno Přidat novou položku.
V seznamu Šablony vyberte Třída MODELU A pak klikněte na Přidat. Visual Basic přidá novou třídu a nakonfiguruje nový projekt pro interoperabilitu modelu COM.
Do třídy modelu COM přidejte kód, jako jsou vlastnosti, metody a události.
V nabídce Build (Sestavení) vyberte Build ClassLibrary1 (Knihovna sestavení1). Visual Basic sestavení a zaregistruje objekt COM v operačním systému.
Vytváření objektů COM bez šablony třídy COM
Místo použití šablony třídy modelu COM můžete třídu modelu COM vytvořit také ručně. Tento postup je užitečný, když pracujete z příkazového řádku nebo když chcete mít větší kontrolu nad tím, jak jsou objekty COM definovány.
Nastavení projektu pro vygenerování objektu COM
Kliknutím na NovýProjekt Windows v nabídce Soubor otevřete nový projekt aplikace.
V dialogovém okně Project nový název pod polem Project Typy polí zkontrolujte, že je Windows vybraná možnost. V seznamu Šablony vyberte Knihovna tříd a pak klikněte na OK. Zobrazí se nový projekt.
V Průzkumník řešení klikněte pravým tlačítkem na projekt a potom klikněte na Vlastnosti. Zobrazí Project Návrháře sestav.
Klikněte na kartu Kompilovat.
Zaškrtněte políčko Zaregistrovat zprostředkovatele komunikace s objekty COM.
Nastavení kódu ve třídě pro vytvoření objektu COM
V Průzkumník řešení poklikejte na Class1.vb a zobrazte jeho kód.
Přejmenujte třídu na
ComClass1.Přidejte následující konstanty do
ComClass1. Budou ukládat konstanty globálně jedinečného identifikátoru (GUID), které musí objekty COM mít.Public Const ClassId As String = "" Public Const InterfaceId As String = "" Public Const EventsId As String = ""V nabídce Tools (Nástroje) klikněte na Create Guid (Vytvořit guid). V dialogovém okně Vytvořit identifikátor GUID klikněte na Formát registru a pak klikněte na Kopírovat. Klikněte na Ukončit.
Nahraďte prázdný řetězec
ClassIdidentifikátorem GUID a odstraňte počáteční a koncové složené závorky. Pokud je například identifikátor GUID poskytovaný rozhraním Guidgen, měl by váš"{2C8B0AEE-02C9-486e-B809-C780A11530FE}"kód vypadat následovně.Public Const ClassId As String = "2C8B0AEE-02C9-486e-B809-C780A11530FE"Opakujte předchozí kroky pro
InterfaceIdEventsIdkonstanty a 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 modelu COM v konfliktu s jinými komponentami modelu COM.
Přidejte atribut do a zadejte identifikátory GUID pro ID třídy, ID rozhraní a
ComClassID událostí jako v následujícímComClass1příkladu:<ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)> Public Class ComClass1Třídy modelu COM musí mít konstruktor bez
Public Sub New()parametrů, jinak se třída nezaregistruje správně. Přidejte do třídy konstruktor bez parametrů:Public Sub New() MyBase.New() End SubPřidejte do třídy vlastnosti, metody a události a ukončete je
End Classpříkazem . V nabídce Sestavení vyberte Sestavit řešení. Visual Basic sestavení a zaregistruje objekt COM v operačním systému.Poznámka
Objekty COM, které generujete pomocí Visual Basic nelze použít jinými aplikacemi Visual Basic, protože to nejsou skutečné objekty COM. Pokusy o přidání odkazů na tyto objekty COM vyvolá chybu. Podrobnosti najdete v tématu Interoperabilita modelu COM v .NET Framework aplikacích.