Udostępnij za pomocą


Przewodnik: tworzenie obiektów COM za pomocą języka Visual Basic

Podczas tworzenia nowych aplikacji lub składników najlepiej jest tworzyć zestawy programu .NET Framework. Jednak program Visual Basic ułatwia również udostępnienie komponentu .NET Framework w modelu COM. Dzięki temu można udostępniać nowe składniki dla wcześniejszych pakietów aplikacji, które wymagają składników COM. W tym przewodniku pokazano, jak używać języka Visual Basic do uwidaczniania obiektów programu .NET Framework jako obiektów COM, zarówno z szablonem klasy COM, jak i bez niego.

Najprostszym sposobem uwidocznienia obiektów COM jest użycie szablonu klasy COM. Ten szablon tworzy nową klasę, a następnie konfiguruje projekt w celu wygenerowania klasy z warstwą współdziałania jako obiektu COM i zarejestrowania go w systemie operacyjnym.

Uwaga / Notatka

Mimo że można również uwidocznić klasę utworzoną w języku Visual Basic jako obiekt COM dla niezarządzanego kodu do użycia, nie jest to prawdziwy obiekt COM i nie może być używany przez visual basic. Aby uzyskać więcej informacji, zobacz Interoperacyjność COM w aplikacjach .NET Framework.

Uwaga / Notatka

Na komputerze mogą być wyświetlane różne nazwy lub lokalizacje niektórych elementów interfejsu użytkownika programu Visual Studio w poniższych instrukcjach. Wersja programu Visual Studio i ustawienia, których używasz, określają te elementy. Aby uzyskać więcej informacji, zobacz Personalizowanie środowiska IDE.

Aby utworzyć obiekt COM przy użyciu szablonu klasy COM

  1. Otwórz nowy projekt aplikacji systemu Windows z menu Plik , klikając pozycję Nowy projekt.

  2. W oknie dialogowym Nowy projekt w polu Typy projektów sprawdź, czy jest zaznaczony system Windows. Wybierz pozycję Biblioteka klas z listy Szablony , a następnie kliknij przycisk OK. Zostanie wyświetlony nowy projekt.

  3. Wybierz pozycję Dodaj nowy element z menu Projekt . Zostanie wyświetlone okno dialogowe Dodawanie nowego elementu .

  4. Wybierz pozycję Klasa COM z listy Szablony , a następnie kliknij przycisk Dodaj. Visual Basic dodaje nową klasę i konfiguruje nowy projekt dla interopera typu COM.

  5. Dodaj kod, taki jak właściwości, metody i zdarzenia do klasy COM.

  6. Wybierz Skompiluj ClassLibrary1 z menu Buduj. Visual Basic kompiluje zestaw i rejestruje obiekt COM w systemie operacyjnym.

Tworzenie obiektów COM bez szablonu klasy COM

Możesz również ręcznie utworzyć klasę COM zamiast używać szablonu klasy COM. Ta procedura jest przydatna podczas pracy z poziomu wiersza polecenia lub gdy chcesz mieć większą kontrolę nad sposobem definiowania obiektów COM.

Aby skonfigurować projekt w celu wygenerowania obiektu COM

  1. Otwórz nowy projekt aplikacji systemu Windows z menu Plik , klikając pozycję NowyProjekt.

  2. W oknie dialogowym Nowy projekt w polu Typy projektów sprawdź, czy jest zaznaczony system Windows. Wybierz pozycję Biblioteka klas z listy Szablony , a następnie kliknij przycisk OK. Zostanie wyświetlony nowy projekt.

  3. W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy projekt, a następnie kliknij polecenie Właściwości. Zostanie wyświetlony projektant projektu .

  4. Kliknij kartę Kompiluj.

  5. Zaznacz pole wyboru Zarejestruj dla interopercji COM.

Aby skonfigurować kod w swojej klasie i stworzyć obiekt COM

  1. W Eksploratorze rozwiązań kliknij dwukrotnie Class1.vb , aby wyświetlić jego kod.

  2. Zmień nazwę klasy na ComClass1.

  3. Dodaj następujące stałe do ComClass1. Będą przechowywać stałe globalnie unikalne identyfikatory (GUID), które obiekty COM muszą mieć.

    Public Const ClassId As String = ""
    Public Const InterfaceId As String = ""
    Public Const EventsId As String = ""
    
  4. W menu Narzędzia kliknij pozycję Utwórz identyfikator Globalny Unikalny (GUID). W oknie dialogowym Tworzenie identyfikatora GUID kliknij opcję Format rejestru, a następnie kliknij przycisk Kopiuj. Kliknij Zakończ.

  5. Zastąp pusty ciąg ClassId identyfikatorem GUID, usuwając nawiasy klamrowe z przodu i z tyłu. Jeśli na przykład identyfikator GUID dostarczony przez Guidgen to ""{2C8B0AEE-02C9-486e-B809-C780A11530FE}"", to Twój kod powinien być wyświetlany w następujący sposób.

    Public Const ClassId As String = "2C8B0AEE-02C9-486e-B809-C780A11530FE"
    
  6. Powtórz poprzednie kroki dla stałych InterfaceId i EventsId, jak w poniższym przykładzie.

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

    Uwaga / Notatka

    Upewnij się, że GUID-y są nowe i unikatowe; w przeciwnym razie składnik COM może konfliktować z innymi składnikami COM.

  7. ComClass Dodaj atrybut do ComClass1, określając identyfikatory GUID dla identyfikatora klasy, identyfikatora interfejsu i identyfikatora zdarzeń, jak w poniższym przykładzie:

    <ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)>
    Public Class ComClass1
    
  8. Klasy COM muszą mieć konstruktor bez Public Sub New() parametrów lub klasa nie zarejestruje się poprawnie. Dodaj konstruktor bez parametrów do klasy:

    Public Sub New()
        MyBase.New()
    End Sub
    
  9. Dodaj właściwości, metody i zdarzenia do klasy, kończąc ją instrukcją End Class . Wybierz pozycję Kompiluj rozwiązanie z menu Kompilacja . Visual Basic kompiluje zestaw i rejestruje obiekt COM w systemie operacyjnym.

    Uwaga / Notatka

    Obiekty COM generowane za pomocą języka Visual Basic nie mogą być używane przez inne aplikacje Języka Visual Basic, ponieważ nie są to obiekty COM. Próby dodania odwołań do takich obiektów COM spowodują wystąpienie błędu. Aby uzyskać szczegółowe informacje, zobacz Współdziałanie COM w aplikacjach .NET Framework.

Zobacz także