Rejestracja
Gdy użytkownik chce, aby wstawić element OLE do aplikacji, OLE przedstawia listę typów obiektów, które można wybierać.Tej listy są pobierane z bazy wiedzy system rejestracji danych zawiera informacje dostarczone przez wszystkie aplikacje serwera OLE.Serwer rejestruje się, opis każdego typu obiektu, który dostarcza wpisy, które powoduje umieszczenie go w rejestracji systemu bazy danych (rejestrze), pliku rozszerzenia i ścieżki do siebie, wśród innych informacji.
Ramy i OLE systemu dołączanych dynamicznie bibliotek (DLL) umożliwia określenie, jakie typy elementów OLE są dostępne w systemie tego rejestru.OLE system dll również użyć rejestru do określenia sposobu uruchamiania aplikacji serwera podczas aktywacji obiektu połączonego lub osadzonego.
W tym artykule opisano każdy serwer aplikacji musi zrobić, gdy jest zainstalowany i każdym jest wykonywana.
Aby uzyskać szczegółowe informacje o bazie danych systemu rejestracji i format plików reg, używane do aktualizowania go, zobacz OLE Programmer's Reference.
Instalacja serwera
Podczas pierwszej instalacji serwera aplikacji, to powinny rejestrować wszystkie typy elementów OLE, które obsługuje.Można także korzystać z serwera aktualizacji bazy danych rejestracji systemu za każdym razem, gdy jest wykonywany jako aplikacja autonomiczna.Dzięki temu baza danych rejestracji aktualne w przypadku przeniesienia pliku wykonywalnego serwera.
[!UWAGA]
W aplikacjach MFC wygenerowany przez Kreatora aplikacji automatycznie rejestrują się uruchomienie jako aplikacji autonomicznych.
Aby zarejestrować aplikacji podczas instalacji, należy użyć programu RegEdit.exe.(W systemie Windows 95, Windows 98 i Windows ME, RegEdit znajduje się w katalogu Windows.W systemie Windows NT i Windows 2000 RegEdit jest w katalogu Windows System32). Jeśli program instalacyjny z aplikacją, ma uruchomić program instalacyjny "RegEdit /S nazwa_aplikacjireg".(Flaga /S wskazuje cichą pracę, to znaczy nie są wyświetlane okno dialogowe raportowania ukończenie polecenia). W przeciwnym razie Poinstruuj użytkownika, aby ręcznie uruchomić program RegEdit.
[!UWAGA]
Plik reg utworzony przez Kreatora aplikacji nie zawiera pełną ścieżkę do pliku wykonywalnego.Program instalacyjny albo zmodyfikować plik reg, podać pełną ścieżkę do pliku wykonywalnego lub zmodyfikować zmienną środowiskową PATH, aby uwzględnić w katalogu instalacyjnym.
RegEdit scala zawartość pliku reg tekst bazy danych rejestracji.Aby zweryfikować bazy danych lub ją naprawić, użyj Edytora rejestru.Należy zadbać, aby uniknąć usuwania wpisów OLE zasadnicze.(W systemie Windows 95, Windows 98 i Windows ME, Edytor rejestru jest RegEdit.exe.W systemie Windows NT i Windows 2000 jest RegEdit32.exe.)
Inicjowanie serwera
Podczas tworzenia aplikacji serwera za pomocą Kreatora aplikacji, Kreator ukończy wszystkie zadania inicjowania można automatycznie.W tej sekcji opisano, co należy zrobić, jeśli ręcznie napisać aplikację serwera.
Gdy aplikacja serwera jest uruchamiany przez aplikację kontenera, bibliotek DLL systemu OLE dodać opcję / osadzania"do wiersza polecenia serwera.Zachowanie aplikacji serwera różni się w zależności od tego, czy ją rozpoczęła kontenera, więc pierwszą rzeczą, aplikacja powinna wykonać, gdy rozpoczyna się wykonywanie jest sprawdzenie / osadzania"lub"-Embedding "opcji wiersza polecenia.Jeśli ten przełącznik, załadować zestaw zasobów, które pokazują serwera jako albo aktywny w miejscu lub w pełni otworzyć.Aby uzyskać więcej informacji, zobacz menu i zasobów: Dodatki serwera.
Aplikacja serwera powinna również wywołać jej CWinApp::RunEmbedded funkcji analizy wiersza polecenia.Jeżeli zwraca wartość niezerową, aplikacja nie powinien wykazywać jego okna, ponieważ została uruchomiona z aplikacji kontenera, nie jako aplikację autonomiczną.Funkcja ta aktualizuje wpis serwera bazy danych systemu rejestracji i wywołania RegisterAll Członkowskich funkcji dla Ciebie wykonywania rejestracji instancji.
Przy uruchamianiu aplikacji serwera należy się upewnić, że można wykonywać rejestrację instancji.Rejestracji instancji informuje bibliotek DLL systemu OLE, czy serwer jest gotowy do odbierania żądań z kontenerów i active.Nie dodaje wpis do bazy danych rejestracji.Wykonywanie rejestracji wystąpienie serwera przez wywołanie ConnectTemplate Członkowskich funkcja zdefiniowana przez COleTemplateServer.Łączy to CDocTemplate obiektu do COleTemplateServer obiektu.
ConnectTemplate Funkcja przyjmuje trzy parametry: server CLSID, wskaźnik do CDocTemplate obiektu i flagi wskazujące, czy serwer obsługuje wiele wystąpień.Miniserver musi być w stanie do obsługi wielu wystąpień, to znaczy, musi być możliwe dla wielu wystąpień serwera równoczesne, jeden dla każdego pojemnika.W konsekwencji, przekazać TRUE tej flagi przy uruchamianiu miniserver.
Jeśli piszesz miniserver, z definicji, który zawsze będzie można uruchomić przez kontener.Nadal należy analizować wiersza polecenia, aby sprawdzić, czy opcja / osadzania".Brak tej opcji wiersza polecenia oznacza, że użytkownik próbował uruchomić miniserver jako aplikację autonomiczną.W takim przypadku zarejestrować serwer z systemowej bazy danych rejestracji, a następnie Wyświetl okno komunikatu informujące użytkownika o rozpoczęciu miniserver z aplikacji kontenera.