15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Unsubscribing to OCX Events.

Peter.Walker@ubs.com
Monday, November 25, 1996

     Environment: VC++ 4.2b, NT 3.51.
     
     I am currently using an OCX as an event sink to other OCX's in my 
     process. What I wish to do is to implement a Register/Deregister 
     between my client OCX's and my sink OCX , so that when an event occurs 
     in my sink OCX it will only be sent to the client OCX's that currently 
     have registered an interest in that event.
     
     I have looked at overriding COleControl FireEventV/FireEvent but these 
     aren't virtual anyway.
     
     COleControl::FireEventV seems to be the right area, where it iterates 
     m_xEventConnPt for dispatches to Invoke. I just wish to toggle which 
     dispatches to call, for reasons of efficiency.
     
     Peter Walker
     Peter.Walker@ubs.com




Giles R. Chamberlin -- GRC@langley.softwright.co.uk
Wednesday, November 27, 1996


Peter Walker asked:
>   I am currently using an OCX as an event sink to other OCX's in my
>    process. What I wish to do is to implement a Register/Deregister
>    between my client OCX's and my sink OCX , so that when an event   
occurs
>    in my sink OCX it will only be sent to the client OCX's that   
currently
>    have registered an interest in that event.

Sounds like a candidate for raw OLE: on the OCX firing the event call   
IConnectionPoint::Advise and IConnectionPoint::Unadvise to toggle   
connection. passing a suitable IDispatch belonging to the receiving OCX.

The events will be fired as ever, but only connected clients will receive   
the event.

There have been several discussions on connecting event interfaces on   
this list in the last few months,
or mail me direct if you need some more.

Giles Chamberlin
Softwright




| Вернуться в корень Архива |