Idispatch - как им пользоваться?

  • Автор темы Inframarine
  • Дата начала
Статус
Закрыто для дальнейших ответов.
I

Inframarine

#1
Доброго времени суток... Столкнулся я с такой интересной вещью как IDispatch... Погуглил и каких то конкретных статей не нашел... Вообщем суть прроблемы - Есть Информационная система, к ней можно подцеплять свои компоненты( видимо в виде dll), и взаимодействет ИС с ними по средствам IDispatch... Подскажите плз как мне это взаимодействие организовать? Есть немного документации но мне этого не хватает. Вот выдержки из них -
" Компонент Registrator(это то что я создаю) реализуется в виде COM-объекта.
Создание объекта в ИС выполняется по PROG ID объекта, который указывается в настроечном файле ***.ini.
Все методы объекта должны быть реализованы в интерфейсе IRegistrator, производном от IDispatch.
***
При вызове из программ на MS Visual Basic, MS Visual Basic Script будет использоваться доступ через IDispatch.
***
Все методы объекта Registrator выполняются в синхронном режиме, т.е. после вызова метода объекта (посылки команды в регистратор) возврат из метода компонента в вызывающую программу не выполняется, пока не будет получен и обработан ответ от регистратора. "
Ну и дальше собственно перечисление методов... Буду рад любому совету ) а то даж не знаю с какой стороны Idispatch укусить ))) все остальные этапы обработки информации из ИС уже сделаны) а вот на этом запнулся что то (((
 
S

skysun

#2
Это типа плагина на основе COM-интерфейсов.
1)ты должен написать activex-компонент реализующий интерфейс IRegistrator. Значит надо создать проект если в VB6 то AxtiveX dll-проект.
затем в меню Project->Referenses указать библиотеку в которой описан интерфейс IRegistrator(обычно это dll или tlb-файлы). И реализовать в одном
из классов( свойство instancing это класса должно быть MultiUse или GlobalMultiUse) своего проекта указанный интерфейс.

Компонент Registrator(это то что я создаю) реализуется в виде COM-объекта.
Несовсем понятно, что имеется в виду.

Создание объекта в ИС выполняется по PROG ID объекта, который указывается в настроечном файле ***.ini
. ProgID - см доки по COM серверам. Скажу, что VB6 формирует его автоматом в виде - НАЗВАНИЕ_ПРОЕКТА.НАЗВАНИЕ_КЛАССА.

При вызове из программ на MS Visual Basic, MS Visual Basic Script будет использоваться доступ через IDispatch.
Это лишь означает, что твой COM-объект использует автоматизацию, а не прямой доступ к интерфейсам. МЕХАНИЗМ автоматизации - создан для языков не поддерживающих указатели.


В общих чертах все!
 
Статус
Закрыто для дальнейших ответов.