Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

COM и события [Delphi, Windows]


vixic ©   (2004-10-06 19:34:00) 

Как прицепить событие COM обьекта в программе?
Windows Script Host делает это так:
JScript
------------------------------------------
Obj = WScript.CreateObject("файл.объект");
WScript.ConnectObject(Obj,"Obj_");
function Obj_событие();
{действия};
------------------------------------------
при генерации события выполница функция Obj_событие()
как зделать также на Delphi

ПРИНИМАЮТСЯ ВСЕ РЕШЕНИЯ!!!


vixic   (2004-10-18 18:48:00) [1]

> Ломброзо
А можно примерчик!!!

Если кто понимает в етом, то можно примерчик!

ОЧЕНЬ НАДО! СПАСИБО!


vixic   (2004-10-11 20:09:00) [2]

> Ломброзо
А можно примерчик!!!


Юра   (2004-10-08 09:50:00) [3]

>Вот такая вот каша
Лично я для таких целей использую вижуал + АТЛ. Тогда _вообще_ никакой каши нет. А в дельфях это действительно через Ж делается :(


Ломброзо   (2004-10-08 00:01:00) [4]

Через раннее связывание - импортированием библиотеки типов

Через позднее
OleVariant ->
IDispatch ->
IConnectionPointContainer.FindConnectionPoint -> IConnectionPoint.Advise.

В Advise передать указатель на экземпляр класса, реализующего IDispatch и переопределяющего  метод IDispatch.Invoke (написать такой класс самому). В Invoke определить нужный DISPID метода и соответственно среагировать. DISPID по имени можно получить, вызывав IDispatch.GetIDsOfNames у того объекта, который кидает событие.

Вот такая вот каша.


DarkMan   (2004-10-07 12:56:00) [5]

В делфях на скока помню делаешь
1. Component\Import ActiveX...
выбираеш что те нужно, далее инстал, потом когда появится в панели компонетов думаю догадаешся что с этим делать
2. Ручным способом час не вспомню .... :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо