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


Практическое руководство: Как создавать ссылки на 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.

    
    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.

См. также