![]() |
#10 |
Участник
|
Re: Как получить конкретный интерфейс COM объекта
Цитата:
Изначально опубликовано Tony Green
Приветствую всех! Вопрос из области интеграции с внешними приложениями. От этого внешнего приложения есть COM объект с толпой методов в различных интерфейсах. Нужный метод находится в одном из них. Вопрос, как заполучить экземпляр класса COM в аксапте именно с нужным мне интерфейсом, а не с тем, который получается в результате команды new COM(....) ? Если поподробнее: Аксапта поддерживает только COM-объекты автоматизации, или по другому объекты диспетчеризации. Работа с такими COM-объектами происходит через один и единственный интерфейс IDispatch, который в специальной манере реализует метод Invoke через который и происходит вызов методов с заранее неизвестными именами и неизвестным количеством параметров. Напрямую работать с любыми другими COM-интерфейсами Аксапта (насколько мне известно) не умеет, ибо это предполагает наличие поддержки раннего связывания в компиляторе и много другого. Замечу в этом Аксапта в этом не одинока - это подход всех скриптовых языков (VBScript, JavaScript, внутренний язык 1С и пр.), для которых в общем то IDispatch и разрабатывался. |
|
|
За это сообщение автора поблагодарили: Logger (1). |