Клиенты автоматизации. Использование библиотек типов
Клиенты службы автоматизации должны иметь сведения о свойствах и методах объектов сервера, если клиенты должны управлять объектами серверов. Свойства имеют типы данных; методы часто возвращают значения и принимают параметры. Клиенту требуются сведения о типах данных всех этих типов, чтобы статически привязаться к типу объекта сервера.
Эти сведения о типе могут быть известны несколькими способами. Рекомендуется создать библиотеку типов.
Дополнительные сведения о MkTypLib см. в пакете SDK для Windows.
Visual C++ может считывать файл библиотеки типов и создавать класс диспетчера, производный от COleDispatchDriver. Объект этого класса имеет свойства и операции дедупликации объектов сервера. Приложение вызывает свойства и операции этого объекта, а также функциональные возможности, унаследованные от COleDispatchDriver
маршрутов этих вызовов в систему OLE, которая, в свою очередь, направляет их в объект сервера.
Visual C++ автоматически сохраняет этот файл библиотеки типов, если вы решили включить автоматизацию при создании проекта. В рамках каждой сборки TLB-файл будет создан с помощью MkTypLib.
Создание класса диспетчера из файла библиотеки типов (TLB)
В представлении классов или Обозреватель решений щелкните проект правой кнопкой мыши и выберите команду "Добавить класс" в контекстном меню.
В диалоговом окне "Добавить класс" выберите папку Visual C++/MFC в левой области. Щелкните значок класса MFC из TypeLib в правой области и нажмите кнопку "Открыть".
В диалоговом окне "Добавление класса из typelib" выберите библиотеку типов из раскрывающегося списка "Доступные библиотеки типов". В поле "Интерфейсы" отображаются интерфейсы, доступные для выбранной библиотеки типов.
Примечание.
Интерфейсы можно выбрать из нескольких библиотек типов.
Чтобы выбрать интерфейсы, дважды щелкните их или нажмите кнопку "Добавить ". При этом имена для классов диспетчеризации будут отображаться в поле "Созданные классы ". Имена классов можно изменить в
Class
поле.В поле "Файл" отображается файл, в котором будет объявлен класс. (вы также можете изменить это имя файла. Вы также можете использовать кнопку обзора, чтобы выбрать другие файлы, если вы предпочитаете использовать сведения о заголовке и реализации, написанные в существующих файлах или в каталоге, отличном от каталога проекта.
Примечание.
Все классы отправки для выбранных интерфейсов будут помещены в файл, указанный здесь. Если вы хотите, чтобы интерфейсы объявлялись в отдельных заголовках, необходимо запустить этот мастер для каждого файла заголовка, который требуется создать.
Примечание.
Некоторые сведения о библиотеке типов могут храниться в файлах с .DLL. OCX или . Расширения ФАЙЛОВ OLB.
Нажмите кнопку Готово.
Затем мастер напишет код для классов диспетчера с помощью указанных имен классов и файлов.