Поделиться через


Регистрация

Если пользователь хочет вставить элемент OLE в приложение OLE представляет список типов объектов для выбора.OLE получает список из базы данных регистрации системы, содержащий сведения, предоставленные всеми серверными приложениями.Если сервер регистрирует, он помещает запись в базу данных регистрации системы (реестр) описывает каждый тип объекта, он предоставляет расширения файла и путь к самому себе, а также другие сведения.

Границы и ЯВЛЯЕТСЯ библиотек динамической компоновки (DLL) используют этот реестра для определения того, какие типы доступны OLE элементов в системе.ЯВЛЯЕТСЯ системные библиотеки DLL также используют этот реестра для определения того, как запустить серверное приложение, когда связывание или внедренный объект активированы.

Данный раздел описывает, что каждый серверному приложению необходимо выполнить, когда он установленно и каждый раз она выполняется.

Дополнительные сведения о базе данных регистрации системы и формате файлов .reg, используемых для обновления он см. в разделе справочник программиста OLE.

Установка сервера

При первом задайте ваше приложение сервера, он должен зарегистрировать все типы элементов, которые он поддерживает OLE.Можно также иметь сервер обновления базы данных регистрации системы каждый раз она выполняется как изолированное приложение.Это содержит базу данных регистрации последнего если исполняемый файл сервера был перемещен.

ПримечаниеПримечание

Приложения MFC, созданные мастером приложений автоматически регистрируют, если они выполняются как изолированные приложения.

Если необходимо зарегистрировать приложение во время установки, используйте программы RegEdit.exe.(В Windows 95, Windows 98 и windows ME, " RegEdit " в каталоге windows.В Windows 2000, Windows NT и " RegEdit " в папке windows System32). При включении программу установки с приложением, обладающее RegEdit выполняется программой установки appname.reg«/S».(Пометить /S указывает операцию без уведомления, то есть он не отображает диалоговое окно отчетный успешного завершения команды). В противном случае - значение проинструктируйте пользователь выполнять RegEdit вручную.

ПримечаниеПримечание

Файл .reg, созданный мастером приложений не включает полный путь для исполняемого файла.Программа установки должна или изменить файл .reg, чтобы включить полный путь к исполняемому файлу или изменить переменную среды PATH для включения каталог установки.

" RegEdit " слияние содержимого текстового файла .reg в базу данных регистрации.Для проверки базы данных или для исправления, используйте редактор реестра.Необходимо проявлять осторожность во избежание удаления записей OLE необходимые.(В Windows 95, Windows 98 и windows ME редактор реестра (RegEdit.exe.в Windows NT и Windows 2000, это RegEdit32.exe).

Инициализация сервера

При создании серверного приложения с помощью мастера приложений, мастер завершает все задачи инициализации автоматически.Этот раздел описывает, что необходимо выполнить при написании серверное приложение вручную.

Если приложение сервера запущено приложение-контейнером, ЯВЛЯЕТСЯ системные библиотеки DLL добавить параметр «/Embedding» в командной строке сервера.Реакция на событие серверного приложения отличается в зависимости от того, запущен ли он контейнером, поэтому прежде всего приложения должен выполнить, когда он начинает выполнение проверка «/Embedding» или «-» внедренный параметр в командной строке.Если этот переключатель существует, то загрузка другой набор ресурсов, которые показывают, как сервер был или активным или полностью открытыми на месте.Дополнительные сведения см. в разделе Меню и ресурсы. Добавление сервера.

Ваше приложение сервера должно также вызывать его функция CWinApp::RunEmbedded для анализа командная строка.Если возвращается ненулевое значение, приложение не должно отображать свое окно, поскольку она не была запущена от контейнерного приложения, как изолированное приложение.Эта функция обновляет запись сервера в базе данных регистрации системы и вызывает функцию-член RegisterAll, при выполнении регистрацию экземпляров.

Если ваше приложение сервера, необходимо удостовериться, что он может выполнять регистрацию экземпляров.Регистрация экземпляра информирует ЯВЛЯЕТСЯ системные библиотеки DLL, что сервер активна и готов получить запросы из контейнеров.Она не добавляет запись в базе данных регистрации.Запустите регистрацию экземпляров сервера путем вызова функции-члена ConnectTemplate указано COleTemplateServer.Это объект CDocTemplate подключается к объекту COleTemplateServer.

Функция ConnectTemplate принимает 3 параметров. CLSID сервера, указатель на объект CDocTemplate и пометить указывающее, поддерживает ли сервер несколько экземпляров.Miniserver должен иметь возможность поддержки нескольких экземпляров, т е должно быть возможно для нескольких экземпляров сервера выполняться одновременно, по одному для каждого контейнера.Следовательно, передайте значение Истина для этого пометить начальный miniserver.

При написании miniserver, по определению она всегда будет запущено контейнером.По-прежнему необходимо проанализировать командная строка для проверки для параметра «/Embedding».Без этого параметра в командной строке означает, что пользователь попытался запустить miniserver в виде изолированного приложения.Если это происходит, зарегистрируйте сервер с базой данных регистрации системы и затем отображает окно сообщения пользователь отчета для запуска miniserver от контейнерного приложения.

См. также

Ссылки

CWinApp::RunAutomated

CWinApp::RunEmbedded

Класс COleTemplateServer

Основные понятия

OLE в MFC

Серверы