Практическое руководство. Ссылка на COM-объект в Visual Basic

В Visual Basic добавление ссылок на COM-объекты с библиотеками типов требует создания сборки взаимодействия для com-библиотеки. Ссылки на элементы COM-объекта направляются в сборку взаимодействия, а затем перенаправляются в фактический COM-объект. Ответы от COM-объекта направляются в сборку взаимодействия и перенаправляются в приложение платформа .NET Framework.

Вы можете ссылаться на COM-объект без использования сборки взаимодействия, встраивая сведения о типе для COM-объекта в сборку .NET. Чтобы внедрить сведения о типе, задайте Embed Interop Types для свойства True ссылку на COM-объект. Если вы компилируетсяе с помощью компилятора командной строки, используйте /link параметр для ссылки на библиотеку COM. Дополнительные сведения см. в разделе -link (Visual Basic).

Visual Basic автоматически создает сборки взаимодействия при добавлении ссылки на библиотеку типов из интегрированной среды разработки (IDE). При работе с командной строкой можно использовать служебную программу Tlbimp для создания сборок взаимодействия вручную.

Добавление ссылок на COM-объекты

  1. В меню "Проект" выберите "Добавить ссылку", а затем откройте вкладку COM в диалоговом окне.

  2. Выберите компонент, который требуется использовать в списке COM-объектов.

  3. Чтобы упростить доступ к сборке взаимодействия, добавьте Imports инструкцию в начало класса или модуля, в котором будет использоваться COM-объект. Например, следующий пример кода импортирует пространство INKEDLib имен для объектов, на которые ссылается Microsoft InkEdit Control 1.0 библиотека.

    Imports INKEDLib
    
    Class Sample
        Private s As IInkCursor
    
    End Class
    

Создание сборки взаимодействия с помощью Tlbimp

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

  2. Вызов Tlbimp из командной строки, предоставляя следующие сведения:

    • Имя и расположение библиотеки DLL, содержащей библиотеку типов

    • Имя и расположение пространства имен, в котором должны размещаться сведения

    • Имя и расположение целевой сборки взаимодействия

    Примером является следующий код:

    Tlbimp test3.dll /out:NameSpace1 /out:Interop1.dll  
    

    Вы можете использовать Tlbimp для создания сборок взаимодействия для библиотек типов, даже для незарегистрированных объектов COM. Однако com-объекты, на которые ссылается сборки взаимодействия, должны быть правильно зарегистрированы на компьютере, где они должны использоваться. Вы можете зарегистрировать COM-объект с помощью программы Regsvr32, включенной в операционную систему Windows.

См. также