Вход


Главная страница >> Учебный процесс >> Конспекты >> Delphi. Поддержка технологий COM >> Автоматизация >> Позднее или раннее связывание

[Назад]    [Содержание ]    [Вперед]

  


Позднее или раннее связывание


Элементы автоматизации, которые рассматриваются в этой главе, работают с помощью спсоба, называемого позднее связывание (tale binding). При позднем связывании необходимый метод вызывается внутри метода Invoke() интерфейса IDispatch. Под поздним связыванием подразумевается, что метод не разрешен до момента выполнения. Во время компиляции вызов метода автоматизации разрешается в вызов метода IDispatch.Invoke() с соответствующими параметрами, и во время выполнения метод Invoke() вызывает метод автоматизации.

Раннее связывание (early binding) означает, что объект автоматизации предоставляет методы посредством пользовательского интерфейса, наследуемого от IDispatch. В этом случае контроллеры автоматизации могут вызывать объект автоматизации непосредственно, т.е. без использования метода IDispatch.Invoke(). Поскольку вызов осуществляется непосредственно, этот метод работает быстрее, чем позднее связывание.

Об объекте автоматизации, который позволяет вызывать методы как из метода Invoke(), так и из потомков интерфейса IDispatch, говорят, что он поддерживает двойной интерфейс (dual, terface). Объекты автоматизации, сгенерированные Delphi, всегда поддерживают двойной интерфейс, а контроллеры автоматизации Delphi позволяют вызывать методы как внутри Invoke(), так и напрямую внутри интерфейса.



[Назад]    [Содержание ]    [Вперед]

  


  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017