Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > IDispatch - как его использовать?


Автор: inframarine 2.10.2008, 10:18
Доброго времени суток... Столкнулся я с такой интересной вещью как IDispatch... Погуглил и каких то конкретных статей не нашел... Вообщем суть прроблемы - Есть Информационная система, к ней можно подцеплять свои компоненты( видимо в виде dll), и взаимодействет ИС с ними по средствам IDispatch... Подскажите плз как мне это взаимодействие организовать? Есть немного документации но мне этого не хватает. Вот выдержки из них - 

" Компонент Registrator(это то что я создаю) реализуется в виде COM-объекта. 
Создание объекта в ИС выполняется по PROG ID объекта, который указывается в настроечном файле .
 
Все методы объекта должны быть реализованы в интерфейсе IRegistrator, производном от IDispatch. 

При вызове из программ на MS Visual Basic, MS Visual Basic Script будет использоваться доступ через IDispatch. 

Все методы объекта Registrator выполняются в синхронном режиме, т.е. после вызова метода объекта (посылки команды в регистратор) возврат из метода компонента в вызывающую программу не выполняется, пока не будет получен и обработан ответ от регистратора. " 

Ну и дальше собственно перечисление методов... Буду рад любому совету ) а то даж не знаю с какой стороны Idispatch укусить ))) все остальные этапы обработки информации из ИС уже сделаны) а вот на этом запнулся что то ((( Может я не очень конкретно разрисовал проблемувы спрашивайте - я уточню))) заранее спасибо

Автор: Akina 2.10.2008, 10:42
Почитай http://support.microsoft.com/kb/245115/ru.

Автор: inframarine 2.10.2008, 10:56
Спасибо) Но всё это вопрос снимает лишь частично... Меня интересует надо ли как то специально что то объявлять в коде компонента, что бы к нему можно было подключиться с помощью IDispatch ? или можно просто собрать dll и всё будет автоматически?

Автор: Akina 2.10.2008, 11:35
Цитата(inframarine @  2.10.2008,  11:56 Найти цитируемый пост)
надо ли как то специально что то объявлять в коде компонента, что бы к нему можно было подключиться с помощью IDispatch ?

Да вроде бы нет - он уже реализован в шаблоне модуля... другое дело если ты там хочешь что-то радикально менять - а нафига бы?

Автор: inframarine 2.10.2008, 11:51
Ок, спасибо ))) попробую - вечером отпишусь ) надеюсь сложностей не будет ))) а вообще удивлен что в инете по этой теме маловато информаци, либо это такие азы о которых даже никто не спрашивает, либо очень дремучая вещь которую не используют уже наверно ... smile 

Автор: Akina 2.10.2008, 12:18
Цитата(inframarine @  2.10.2008,  12:51 Найти цитируемый пост)
в инете по этой теме маловато информации

 smile http://search.microsoft.com/results.aspx?q=IDispatch+%22Visual+Basic%22&qsc1=3&SearchBtn1=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&FORM=QBME6&l=3&mkt=ru-RU&PageType=99 - мало?

Автор: inframarine 2.10.2008, 14:15
Цитата

  ЭТО - мало?

Английский хромает ))  а там как то совсем заумно, даж promt не берет smile 
А вообще хочу сказать большое СПАСИБО за форум и за ответы ))) на других форумах только руками разводили ))) тперь буду только у вас сидеть  smile 

Автор: Akina 2.10.2008, 15:49
А если http://search.microsoft.com/results.aspx?q=IDispatch+%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81+&qsc0=0&SearchBtn0=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&FORM=QBME2&l=2&mkt=ru-RU&PageType=99?

Автор: inframarine 3.10.2008, 14:43
Цитата(Akina @ 2.10.2008,  15:49)
А если http://search.microsoft.com/results.aspx?q=IDispatch+%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81+&qsc0=0&SearchBtn0=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&FORM=QBME2&l=2&mkt=ru-RU&PageType=99?

Там все примеры на C++, а я с ним на "ВЫ"... да и к тому же я жестко привязан к ВБ (((  да и размаха для экспериментов у мну нет, что бы проверить нужно dll  в ИС загружать и ребутить сервер... а мне ребутить не дают ((( вообщем  smile  на уровне "для лоха" ))) какой компонент создать, что к нему как прикрутить... и насколько я понял мне нужно наследовать Iregistrator от  IDispath и объявить туда еще пару методов... это делается с помощью property ?

Автор: Akina 3.10.2008, 14:57
А поставить тестовый сервер? или замутить виртуалку и там развлекаться?

Автор: inframarine 3.10.2008, 15:58
Начальство приняло волевое решение купить готовую программу... ну и ладно ))) Спасибо за советы )))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)