Serwery automatyzacji
Automatyzacja umożliwia aplikacji do manipulowania obiektami w innej aplikacji lub do udostępnienia obiektów, więc można manipulować.Serwer automatyzacji jest aplikacja, która udostępnia obiektów programowalnych (zwane obiektami automatyzacji) do innych aplikacji (o nazwie Klienci automatyzacji).Serwery automatyzacji są czasami nazywane składniki automatyzacji.
Wystawiając obiekty automatyzacji umożliwia klientom zautomatyzować niektórych procedur przez bezpośredni dostęp do obiektów i udostępnia funkcjonalność serwera.Wystawiając przedmioty w ten sposób jest korzystne, gdy aplikacji zawiera funkcje przydatne dla innych aplikacji.Na przykład edytor tekstów może narazić jego funkcji sprawdzania pisowni, tak, że inne programy mogą używać łącza.Narażenie obiektów umożliwia tym samym dostawców w celu poprawy funkcjonalności swoje aplikacje przy użyciu gotowych funkcjonalność innych aplikacji.
Te obiekty automatyzacji mają właściwości i metody jako ich interfejs zewnętrzny.Właściwości noszą nazwy atrybutów obiektu automatyzacji.Właściwości są podobne do elementów członkowskich danych klasy języka C++.Metody są funkcjami, które działają na obiekty automatyzacji.Metody są podobne do funkcji publicznego członka klasy języka C++.
[!UWAGA]
Chociaż właściwości są jak C++ danych członków, nie są bezpośrednio dostępne.Aby zapewnić przejrzystość, skonfigurować zmiennej wewnętrznej w obiekt automatyzacji z parą funkcje get/set, dostępu do nich.
Wystawiając funkcjonalności aplikacji za pośrednictwem interfejsu wspólnej, dobrze zdefiniowany, automatyzacji umożliwia tworzenie aplikacji w jednym ogólne języku programowania takich jak Microsoft Visual Basic zamiast w językach makro zróżnicowane, specyficzne dla aplikacji.
Obsługa serwerów automatyzacji
Visual C++ i MFC framework zapewniają obsługę rozległe serwery automatyzacji.Obsługują one wiele kłopotów związanych z wprowadzeniem serwera automatyzacji, dzięki czemu skoncentrować swoje wysiłki na funkcje aplikacji.
W ramach mechanizm główna wspierający automatyzacji jest mapa wysyłki, zestaw makr jest rozwijana do deklaracji i połączeń potrzebne do udostępnienia metody i właściwości dla mechanizmu OLE.Mapa wysyłki typowego wygląda następująco:
BEGIN_DISPATCH_MAP(CMyServerDoc, COleServerDoc)
DISP_PROPERTY(CMyServerDoc, "Msg", m_strMsg, VT_BSTR)
DISP_FUNCTION(CMyServerDoc, "SetDirty", SetDirty, VT_EMPTY, VTS_I4)
END_DISPATCH_MAP()
Okno właściwości i widok klasy pomóc w utrzymaniu mapy wysyłki.Po dodaniu nowej metody lub właściwości do klasy Visual C++ dodaje odpowiednie DISP_FUNCTION lub DISP_PROPERTY z parametrami wskazujący nazwę klasy, zewnętrzne i wewnętrzne nazwy typów metoda lub właściwość i danych.
Add Class okno dialogowe upraszcza również deklarację klasy automatyzacji i zarządzania ich właściwości i operacji.Okno dialogowe Add Class służy do dodawania klasy do projektu, określeniu jego klasy podstawowej.Jeśli klasa podstawowa umożliwia automatyzację, okno dialogowe Add Class Wyświetla formanty, które służy do określania, czy nowa klasa powinna wspierać automatyzacji, czy jest to "OLE możliwość utworzenia" (to znaczy, czy obiekty klasy mogą być tworzone na żądanie od klienta COM) i zewnętrznych nazwę dla klienta modelu COM do używania.
Add Class okno dialogowe tworzy następnie deklarację klasy, w tym odpowiednie makra do funkcji OLE zostały określone.Dodaje kod szkielet implementacji funkcji członka swojej klasy.
Kreator aplikacji MFC upraszcza etapy pobieranie aplikacji serwera automatyzacji nad ziemią.Po wybraniu automatyzacji pole wyboru z Funkcje zaawansowane strony Kreatora aplikacji MFC dodaje do Twojej aplikacji InitInstance funkcja wywołania wymaganymi do rejestracji obiektów automatyzacji i uruchom aplikację jako serwera automatyzacji.