Wskazówki: tworzenie obiektów COM z 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ż uwidocznienie składnika .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

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 Współdziałanie modelu COM w aplikacjach .NET Framework.

Uwaga

Na komputerze w poniższych instrukcjach mogą być wyświetlane inne nazwy i lokalizacje niektórych elementów interfejsu użytkownika programu Visual Studio. Te elementy są określane przez numer wersji Visual Studio oraz twoje ustawienia. 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. Język Visual Basic dodaje nową klasę i konfiguruje nowy projekt dla międzyoperacyjności modelu COM.

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

  6. Wybierz pozycję Build ClassLibrary1 (Kompiluj klasęLibrary1 ) z menu Kompilacja . 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 Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt, a następnie kliknij polecenie Właściwości. Zostanie wyświetlony Projektant Project.

  4. Kliknij kartę Kompiluj.

  5. Zaznacz pole wyboru Zarejestruj dla międzyoperajności modelu COM.

Aby skonfigurować kod w klasie w celu utworzenia obiektu COM

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

  2. Zmień nazwę klasy na ComClass1.

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

    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 GUID. W oknie dialogowym Tworzenie identyfikatora GUID kliknij pozycję Format rejestru, a następnie kliknij przycisk Kopiuj. Kliknij przycisk Zakończ.

  5. Zastąp pusty ciąg ClassId identyfikatorem GUID, usuwając nawiasy klamrowe wiodące i końcowe. Jeśli na przykład identyfikator GUID dostarczony przez guidgen to "{2C8B0AEE-02C9-486e-B809-C780A11530FE}" 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 InterfaceId stałych 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

    Upewnij się, że identyfikatory GUID są nowe i unikatowe; w przeciwnym razie składnik COM może powodować konflikt z innymi składnikami MODELU 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

    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 modelu COM w aplikacjach .NET Framework.

Zobacz też